使用 jQuery 重新加载 iframe

2022-08-30 02:25:36

我在一个页面上有两个iframe,一个对另一个进行更改,但另一个iframe在我刷新之前不会显示更改。有没有一种简单的方法可以用jQuery刷新这个iframe?

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

答案 1
$( '#iframe' ).attr( 'src', function ( i, val ) { return val; });

答案 2

如果 iframe 不在不同的域中,您可以执行如下操作:

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

但是,由于 iframe 位于不同的域中,因此同源策略将拒绝您访问 iframe 的属性。contentDocument

但是,如果您的代码在 iframe 的父页面上运行,则可以通过将跨域 iframe 的 src 属性设置为自身来强制重新加载跨域 iframe。喜欢这个:

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

如果您尝试从另一个iframe重新加载iframe,那么您就不走运了,是不可能的