我正在編寫一個基於回合的遊戲,其中服務器可能隨機發送消息給javascript客戶端。當客戶收到這些消息時,它會在文件標題處加上星號。我的問題是,如何檢測用戶正在查看該頁面,以便在用戶看到新消息後立即刪除星號?例如,Gmail和Facebook如何做到這一點?我聽說不能在body
對象上放置onfocus
屬性。使用JavaScript檢測用戶活動
我也想知道爲什麼身體沒有聚焦的屬性。
我正在編寫一個基於回合的遊戲,其中服務器可能隨機發送消息給javascript客戶端。當客戶收到這些消息時,它會在文件標題處加上星號。我的問題是,如何檢測用戶正在查看該頁面,以便在用戶看到新消息後立即刪除星號?例如,Gmail和Facebook如何做到這一點?我聽說不能在body
對象上放置onfocus
屬性。使用JavaScript檢測用戶活動
我也想知道爲什麼身體沒有聚焦的屬性。
爲什麼不偵聽window
的focus
和blur
事件?
window.addEventListener('focus', onFocus); // window has focus
window.addEventListener('blur', onBlur); // window lost focus
經過測試,適用於firefox 26,chromium和konqueror! :) – fonini
您可以檢查document.hidden
,或使用document.visibilityState
for more options。
'document.hidden'或'document.visibilityState'。 [support](http://caniuse.com/#feat=pagevisibility) – Ryan