2011-03-23 74 views
0

只要页面发生变化,是否可以刷新iframe? (iframe中的页面 - 不是iframe所在的页面)我想要一个iframe显示正在开发的页面,然后每当页面更改/更新时,我都希望iframe刷新以便显示较新的版本。希望这是有道理的。 :P
或者使用别的东西代替iframe会更好吗? iframe是否过时了?如何在页面更改时刷新iframe?使用AJAX?

回答

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

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

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