2011-03-23 75 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" />