用jQuery重新加载iframe

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (161)

我在一个页面上有两个iframe,其中一个对另一个进行更改,而另一个则在刷新之前不显示更改。有什么简单的方法可以用jQuery来刷新这个iframe呢?

<div class="project">
  <iframe id="currentElement" class="myframe" name="myframe" src="http://somesite.com/something/new"></iframe>
</div>
提问于
用户回答回答于

如果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' ).attr( 'src', function ( i, val ) { return val; });

扫码关注云+社区

领取腾讯云代金券