2012-10-23 69 views
2

我有一個網頁,每隔5秒左右通過從服務器獲取數據在AJAX中進行自我更新。但是,我希望只在用戶正在查看頁面時才執行更新。檢查用戶是否正在主動查看網頁

當用戶在另一個選項卡上,在瀏覽器以外的其他程序中,或任何其他時間該頁面不是用戶PC上的主活動頁面時,不應該進行更新。

什麼是最準確的,跨瀏覽器的方式來測試呢?

+0

你倆的答案的工作嗎? –

回答

1

如果你喜歡純JS的方式,這裏有一個解決方案:

(function(){ 
var itl=null; 
window.onfocus=function(){itl=window.setInterval(/*heartbeat function*/,5000);}; 
window.onblur=function(){if(itl){window.clearInterval(itl);}};//stop heartbeat 
})(); 

不幀的工作,雖然,您必須在獨立選項卡上進行測試。

相關問題