偵測空閒時間對於優化 Web 應用程式中的使用者體驗至關重要,例如預先載入內容或登出不活動使用者。在 JavaScript 中,空閒時間可以定義為使用者不活動或最低 CPU 使用率的一段時間。
要使用 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() 函數在需要時初始化空閒時間偵測,例如在頁面載入時:
window.onload = function () { inactivityTime(); };
為了提高偵測精確度,您可以新增更多DOM 事件來監控使用者互動。一些常用的事件包括:
在捕獲階段處理事件
window.addEventListener('load', resetTimer, true); var events = ['mousedown', 'mousemove', 'keypress', 'scroll', 'touchstart']; events.forEach(function (name) { document.addEventListener(name, resetTimer, true); });
以上是如何在 JavaScript 中偵測使用者空閒時間以優化 Web 應用程式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!