2009-08-28 28 views
0

这用于工作,但由于某种原因,它不再适用。我使用JavaScript来更改iframe的来源,然后进行刷新。原因是我想在查看之前将一个变量发送到iframe中。使用javascript刷新iframe时出现问题

我添加了som调试代码,它显示“debug 1”但不显示“debug 2”。

可能是什么问题?

$("#upload_iframe").attr("src", "/editor/upload/?dir=" + dir); 
// --------------------------------- 
// THESE LINES DON'T WORK - STOPS AFTER FIRST DEBUG IS RUN... 
// --------------------------------- 
alert('debug 1'); 
$("#upload_iframe").contentWindow.location.reload(true); 
alert('debug 2'); 
// --------------------------------- 
$("#upload_file").dialog('open'); 
+0

我不认为重新加载需要一个参数。尝试删除一个。 – 2009-08-28 13:11:14

回答

4

$("#upload_iframe")  //is an array of matching dom objects 
$("#upload_iframe")[0] //is the first matching dom object 

您还可以添加一个随机字符串,以防止浏览器缓存:

试试这个
$("#upload_iframe")[0].contentWindow.location.href = "/editor/upload/?dir=" + dir + "&rid=" + Math.random(); 
+0

谢谢,解决了它。 – Christoffer 2009-08-29 08:29:11

+0

谢谢!将Math.random()添加到我的querystring中修复了一天的头痛。 – Eden 2012-01-04 17:49:05

2

就个人而言,我已经没有使用“重装()”方法很多运气。当你要访问的DOM,而不是jQuery对象,你应该添加[0]

$("#upload_iframe").contentWindow.location.href = $("#upload_iframe").contentWindow.location.href;