如何在页面更改时刷新iframe?用AJAX?

时间:2011-03-23 22:14:14

标签: ajax iframe refresh

是否可以在页面更改时刷新iframe? (iframe中的页面 - 而不是iframe所在的页面)我想让iframe显示正在开发的页面,然后每当页面被更改/更新时,我都希望iframe刷新,以便显示更新的版本。希望有道理。 :P
或者使用其他东西而不是iframe会更好吗? iframe现在已经过时了吗?

2 个答案:

答案 0 :(得分:1)

只是因为我发现这很有趣...使用jQuery:

<iframe id="someiFrame"></iframe>

<script type="text/javascript">
var page = '/some/page/on/this/server.html', lM;

function checkModified(){
   $.get(page, function(a,a,x){
      var mod = x.getResponseHeader('last-modified');
      if(lM != mod){
         lM = mod;
         $('#someiFrame').attr('src', page);
      }
   }
}

setInterval(checkModified, 5000); // every 5 seconds
</script>

那将每隔5秒轮询一次页面(令人难以置信的浪费,但是如果它在本地开发机器上,那么是什么?)并仅在页面更新时重新加载iframe:)

请注意,iFrame必须与父页面位于同一个域中。

答案 1 :(得分:1)

您是否可以访问正在修改的页面?如果是这样,为什么不在页面的HEAD中添加刷新元标记,然后以您设置的任何间隔更新iframe。以下代码会产生5分钟的刷新时间,如果您的iframe是跨域名,则无关紧要:

  <meta http-equiv="refresh" content="300" />