一尘不染

用jQuery重新加载iframe

javascript

我在页面上有两个iframe,一个对另一个iframe进行了更改,但是另一个iframe直到刷新后才显示更改。有没有一种简单的方法可以使用jQuery刷新此iframe?

<div class="project">
  <iframe id="currentElement" class="myframe" name="myframe" src="http://somesite.com/something/new"></iframe>
</div>

阅读 441

收藏
2020-04-25

共1个答案

一尘不染

如果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 , 则很不走运,这是不可能的。

2020-04-25