偵測JavaScript 中的空閒時間
空閒時間,定義為使用者不活動或不使用CPU 的時間段,可用於各種目的例如內容預取。本文探討了在 JavaScript 中辨識空閒時間的方法。
Vanilla JavaScript 實作
一種方法涉及利用 vanilla JavaScript 的事件為基礎的方法。透過註冊指示使用者活動(例如滑鼠移動、按鍵或捲動)的 DOM 事件的偵聽器,系統可以偵測使用者何時變成非活動狀態。
var inactivityTime = function () { var time; window.onload = resetTimer; // DOM Events document.onmousemove = resetTimer; document.onkeydown = resetTimer; function logout() { alert("You are now logged out.") //location.href = 'logout.html' } function resetTimer() { clearTimeout(time); time = setTimeout(logout, 3000) // 1000 milliseconds = 1 second } };
透過初始化 inactivityTime 函數,JavaScript 腳本開始監聽使用者活動。如果在指定時間間隔(例如 3000 毫秒)內沒有觸發任何事件,則會呼叫註銷函數,表示使用者不活動。
擴大偵測覆蓋範圍
增強空閒時間偵測,可以註冊額外的 DOM 事件。常用事件包括:
對於改進了滾動期間的事件處理,可以使用以下程式碼:
document.addEventListener('scroll', resetTimer, true);對於改進了滾動期間的事件處理,可以使用以下程式碼:
傳遞給addEventListener 的true 參數確保在捕獲階段而不是冒泡階段捕獲事件,確保即使在可滾動元素內也能進行檢測.
總結透過利用JavaScript 的基於事件的模型,開發人員可以有效地偵測使用者空閒時間。此功能可用於各種場景,包括內容預先載入、電源管理和自動登出機制。以上是JavaScript 如何偵測使用者空閒時間?的詳細內容。更多資訊請關注PHP中文網其他相關文章!