刷新 iframe
Posted
技术标签:
【中文标题】刷新 iframe【英文标题】:Refresh an iframe 【发布时间】:2011-03-15 18:21:21 【问题描述】:如何? 例如:
<iframe src="http://google.com"></iframe>
我点击这个 iframe 中的“视频”,然后点击一个按钮来,我希望在 时出现在那个“视频”页面上。
【问题讨论】:
【参考方案1】:由于单一来源政策,您无法刷新其中的内部文档。
您是否尝试过更改 iframe 的 src
属性并添加随机 GET 字符串以强制重新加载?
这应该可行:
<iframe id="myiframe" src="http://google.com"></iframe>
document.getElementById("myiframe").src = "http://www.google.com?"+(+new Date());
【讨论】:
+1 - 我认为您不需要随机字符串。以防万一,我编辑了您的帖子以附加+new Date()
,这会将当前时间转换为一个数字。不是随机的,但如果你不是每毫秒刷新几次,那么它是独一无二的 :-)
Have you tried changing the iframe's src property
,是的,但是如何在哪个页面上找到iframe?
@lam 通过查询src
属性?但是,如果用户已导航到 iframe 中的另一个位置,则这是不可能的。在这种情况下,AFAIK,没有刷新父文档就无法刷新 iframe。【参考方案2】:
如果当前 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;
【讨论】:
【参考方案3】:我认为只需更新 hre/src 即可。所以点击按钮如下:
window.frames.iframeName.location.href = "新网址"
【讨论】:
【参考方案4】:我的解决方案是删除以前的 iframe 并使用新的 src 附加新的 iframe。
【讨论】:
以上是关于刷新 iframe的主要内容,如果未能解决你的问题,请参考以下文章