【发布时间】:2011-03-15 18:21:21
【问题描述】:
如何刷新 iframe? 例如:
<iframe src="http://google.com"></iframe>
我点击这个 iframe 中的“视频”,然后点击一个按钮来刷新 iframe,我希望在刷新 iframe 时出现在那个“视频”页面上。
【问题讨论】:
标签: javascript iframe refresh
如何刷新 iframe? 例如:
<iframe src="http://google.com"></iframe>
我点击这个 iframe 中的“视频”,然后点击一个按钮来刷新 iframe,我希望在刷新 iframe 时出现在那个“视频”页面上。
【问题讨论】:
标签: javascript iframe refresh
由于单一来源政策,您无法刷新其中的内部文档。
您是否尝试过更改 iframe 的 src 属性并添加随机 GET 字符串以强制重新加载?
这应该可行:
<iframe id="myiframe" src="http://google.com"></iframe>
document.getElementById("myiframe").src = "http://www.google.com?"+(+new Date());
【讨论】:
+new Date(),这会将当前时间转换为一个数字。不是随机的,但如果你不是每毫秒刷新几次,那么它是独一无二的 :-)
Have you tried changing the iframe's src property,是的,但是如何在哪个页面上找到iframe?
src 属性?但是,如果用户已导航到 iframe 中的另一个位置,则这是不可能的。在这种情况下,AFAIK,没有刷新父文档就无法刷新 iframe。
如果当前 iframe href 是针对同一个域(单一来源策略)的,您只能使用以下代码重新加载:
<iframe id="myIframe" src="http://yourdomain.com"></iframe>
document.getElementById('myIframe').contentWindow.location.reload(true);
或者获取当前的href
var currentHref = document.getElementById('myIframe').contentWindow.location.href;
【讨论】:
我认为只需更新 hre/src 即可。所以点击按钮如下:
window.frames.iframeName.location.href = "新网址"
【讨论】:
我的解决方案是删除以前的 iframe 并使用新的 src 附加新的 iframe。
【讨论】: