【问题标题】:Trouble refreshing iframe with javascript无法使用 javascript 刷新 iframe
【发布时间】:2009-08-28 13:06:28
【问题描述】:

这曾经有效,但由于某种原因它不再有效。我使用 javascript 更改 iframe 的来源,然后刷新它。原因是我想在查看之前将变量发送到 iframe。

我添加了一些调试代码,它显示“调试 1”但不显示“调试 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');

【问题讨论】:

  • 我认为重新加载不需要参数。尝试删除一个。

标签: javascript jquery iframe


【解决方案1】:

当你想访问 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();

【讨论】:

  • 谢谢!将 Math.random() 添加到我的查询字符串中解决了一天的头痛问题。
【解决方案2】:

就我个人而言,我在使用“reload()”方法时运气不佳。试试这个:

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

【讨论】:

    猜你喜欢
    • 2012-11-01
    • 2011-01-05
    • 2020-05-25
    • 2012-02-10
    • 2010-09-21
    • 1970-01-01
    • 2013-11-06
    • 1970-01-01
    • 2015-11-29
    相关资源
    最近更新 更多