猿问

用jQuery重新加载iframe

用jQuery重新加载iframe

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

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


慕沐林林
浏览 2479回答 3
3回答

慕田峪7331174

如果iframe不在其他域中,您可以执行以下操作:document.getElementById(FrameID).contentDocument.location.reload(true);但由于iframe位于不同的域中,因此您将被拒绝contentDocument通过同源策略访问iframe的属性。但是,如果您的代码在iframe的父页面上运行,则可以通过将其src属性设置为自身来强制重新加载跨域iframe。像这样:// hackishly force iframe to reloadvar iframe = document.getElementById(FrameId);iframe.src = iframe.src;如果你试图从另一个iframe重新加载iframe,那你就不走运了,这是不可能的。

慕莱坞森

$(&nbsp;'#iframe'&nbsp;).attr(&nbsp;'src',&nbsp;function&nbsp;(&nbsp;i,&nbsp;val&nbsp;)&nbsp;{&nbsp;return&nbsp;val;&nbsp;});

倚天杖

你也可以使用jquery。这和Alex提出的使用JQuery的方法相同:&nbsp;$('#currentElement').attr("src",&nbsp;$('#currentElement').attr("src"));
随时随地看视频慕课网APP
我要回答