如何使用 Javascript 刷新 IFrame?

IT技术 javascript iframe
2021-02-07 16:56:33

我有一个带有 IFrame 和一个按钮的网页,一旦按下按钮,我需要刷新 IFrame。这可能吗,如果可以,怎么办?我搜索并找不到任何答案。

6个回答
var iframe = document.getElementById('youriframe');
iframe.src = iframe.src;
这在 chrome 中非常适合我 document.getElementById('frame_id').contentDocument.location.reload(true);
2021-03-13 16:56:33
var tmp_src = iframe.src; iframe.src = ''; iframe.src = tmp_src;
2021-03-19 16:56:33
仅供参考 - 目前(截至 2013 年 1 月)存在 Chromium 项目错误 ( code.google.com/p/chromium/issues/detail?id=172859 ),导致 iframe 更新添加到文档历史记录中。
2021-04-07 16:56:33
如果进入 iFrame 更改页面,此方法会丢失导航
2021-04-08 16:56:33
它在这个版本的 Chrome 中对我有用: Version 24.0.1312.56 Ubuntu 12.04 (24.0.1312.56-0ubuntu0.12.04.1)
2021-04-11 16:56:33

这应该有帮助:

document.getElementById('FrameID').contentWindow.location.reload(true);

编辑:根据@Joro 的评论修正了对象名称。

谢谢你的回答。此外,如果您必须主动刷新 iframe 中的另一个页面到另一个页面,那么reload(true)您可以使用以下命令:document.getElementById('FrameID').contentWindow.location.replace(new_url);
2021-03-12 16:56:33
这在 IE9 中不起作用。您应该使用 contentWindow 而不是 contentDocument。
2021-03-15 16:56:33
这不适用于具有不同来源(协议、主机名或端口)的 iframe。
2021-04-09 16:56:33

如果 iframe 是从同一个域加载的,你可以这样做,这更有意义:

iframe.contentWindow.location.reload();

适用于 IE、Mozzila、Chrome

document.getElementById('YOUR IFRAME').contentDocument.location.reload(true);

你可以使用这个简单的方法

function reloadFrame(iFrame) {

    iFrame.parentNode.replaceChild(iFrame.cloneNode(), iFrame);

}