"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > JavaScript에서 사용자 유휴 시간을 어떻게 감지할 수 있나요?

JavaScript에서 사용자 유휴 시간을 어떻게 감지할 수 있나요?

2024년 12월 21일에 게시됨
검색:176

How Can I Detect User Idle Time in JavaScript?

JavaScript에서 유휴 시간 감지

소개:

웹 개발에서 사용자 활동 이해 성능을 최적화하고 더 나은 사용자 경험을 제공하는 데 매우 중요합니다. 비활성 기간 또는 낮은 CPU 사용량으로 정의되는 유휴 시간을 감지하면 콘텐츠 사전 로드 또는 사용자 인증과 같은 작업을 트리거하는 데 도움이 될 수 있습니다.

JavaScript 구현:

탐지하려면 JavaScript의 유휴 시간에는 다음과 같은 기본 JavaScript 접근 방식을 활용할 수 있습니다.

코드 조각:

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 이벤트를 더 추가하여 사용자 활동을 모니터링할 수 있습니다. 가장 일반적으로 사용되는 이벤트는 다음과 같습니다.

document.onload = resetTimer;
document.onmousemove = resetTimer;
document.onmousedown = resetTimer; // touchscreen presses
document.ontouchstart = resetTimer;
document.onclick = resetTimer;     // touchpad clicks
document.onkeydown = resetTimer;   // onkeypress is deprectaed
document.addEventListener('scroll', resetTimer, true); // improved; see comments

더 나은 사용자 정의를 위해 배열을 사용하여 여러 이벤트를 등록할 수 있습니다.

window.addEventListener('load', resetTimer, true);
var events = ['mousedown', 'mousemove', 'keypress', 'scroll', 'touchstart'];
events.forEach(function(name) {
 document.addEventListener(name, resetTimer, true);
});

모니터링하는 이벤트를 사용자 정의하여 특정 애플리케이션의 요구 사항에 맞게 유휴 시간 감지를 맞춤화할 수 있습니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3