我的JavaScript使用計時器來刷新頁面的CSS。我喜歡在Safari處於後臺時運行它,並且正在對代碼編輯器進行更改,但當它不在活動瀏覽器選項卡中時,我不希望它運行。檢測標籤是否有效? (與焦點不同)
window.blur
和window.focus
被觸發時,另一個標籤是焦點,但是當標籤被激活和Safari在後臺他們也被觸發,所以他們不幫我在這裏。
如何檢測我的JavaScript運行的標籤當前是否處於活動狀態?
我的JavaScript使用計時器來刷新頁面的CSS。我喜歡在Safari處於後臺時運行它,並且正在對代碼編輯器進行更改,但當它不在活動瀏覽器選項卡中時,我不希望它運行。檢測標籤是否有效? (與焦點不同)
window.blur
和window.focus
被觸發時,另一個標籤是焦點,但是當標籤被激活和Safari在後臺他們也被觸發,所以他們不幫我在這裏。
如何檢測我的JavaScript運行的標籤當前是否處於活動狀態?
W3C有跟蹤這個確切的情況工作草案:the page visibility API。它看起來像Chrome是唯一支持它的瀏覽器,目前有an experimental API。您可以在Web檢查控制檯這個小功能,嘗試一下:
function tattle() {
console.log(document.webkitVisibilityState);
}
document.addEventListener("webkitvisibilitychange", tattle, false);
玩弄之後,我覺得這正是我需要的。基本上document.webkitHidden只有在文檔處於其窗口的活動選項卡時纔是false,而不管其他窗口或應用程序是否處於活動狀態。
嘗試類似的onmouseover ..
從閱讀引用的鉻頁面,我想我發現了一個錯誤。它聲明
感謝您的支持,您說得對 – elstgav