如何使用JavaScript在iframe中重新加载iframe

How can I reload an iframe inside iframe with JavaScript?

本文关键字:iframe 加载 新加载 何使用 JavaScript      更新时间:2024-03-16

我有一个域,

example.com

Iframe的来源是

server1.example1.com

问题是,我想在我的iframe中使用JavaScript刷新iframe,当我location.reload()页面时,iframe加载为空,而这种情况只发生在chrome中,我该如何解决?

也许可以试试这个:

// Reload the current page, without using the cache
document.location.reload(true); 

来源:https://developer.mozilla.org/en-US/docs/Web/API/Location.reload

我知道Chrome在缓存方面做了一些非常聪明的事情,所以也许这会有所帮助。

右键单击并重新加载帧,序列号:

如果iframe不在另一个域上,你可以这样做:

document.getElementById(FrameID).contentDocument.location.reload(true);

但是,由于iframe在不同的域上,您将被同源策略拒绝访问iframe的contentDocument属性。

但是,如果您的代码在iframe的父页上运行,您可以通过将其src属性设置为自身,来巧妙地强制跨域iframe重新加载。像这样:

// hackishly force iframe to reload
var iframe = document.getElementById(FrameId);
iframe.src = iframe.src;

如果您正试图从另一个iframe重新加载该iframe,则表示您运气不佳,这是不可能的。