无法使用javascript刷新iframe

时间:2009-08-28 13:06:28

标签: javascript jquery iframe

这曾经有用,但由于某种原因它不再存在了。我使用javascript来更改iframe的源代码然后刷新它。原因是我希望在查看之前将变量发送到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');

2 个答案:

答案 0 :(得分:4)

如果要访问dom而不是jquery对象,则应添加[0]:

$("#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();

答案 1 :(得分:2)

就个人而言,使用“reload()”方法我没有太多运气。试试这个:

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