Rumah >hujung hadapan web >tutorial js >Bagaimanakah JavaScript Boleh Mengesan Masa Terbiar Pengguna?

Bagaimanakah JavaScript Boleh Mengesan Masa Terbiar Pengguna?

Patricia Arquette
Patricia Arquetteasal
2024-12-10 22:50:11410semak imbas

How Can JavaScript Detect User Idle Time?

Mengesan Masa Terbiar dalam JavaScript

Masa terbiar, ditakrifkan sebagai tempoh tidak aktif pengguna atau tanpa penggunaan CPU, boleh dimanfaatkan untuk pelbagai tujuan seperti pra-pengambilan kandungan. Artikel ini meneroka cara untuk mengenal pasti masa terbiar dalam JavaScript.

Pelaksanaan JavaScript Vanila

Satu kaedah melibatkan penggunaan pendekatan berasaskan peristiwa JavaScript vanila. Dengan mendaftarkan pendengar untuk acara DOM yang menunjukkan aktiviti pengguna, seperti pergerakan tetikus, ketukan kekunci atau menatal, sistem boleh mengesan apabila pengguna menjadi tidak aktif.

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
    }
};

Dengan memulakan fungsi inactivityTime, skrip JavaScript bermula mendengar aktiviti pengguna. Jika tiada peristiwa dicetuskan dalam selang masa tertentu (cth., 3000 milisaat), fungsi log keluar akan dipanggil, menunjukkan ketidakaktifan pengguna.

Meluaskan Liputan Pengesanan

Untuk meningkatkan pengesanan masa terbiar, acara DOM tambahan boleh didaftarkan. Acara yang biasa digunakan termasuk:

  • document.onload
  • document.onmousemove
  • document.onmousedown
  • document.ontouchstart
  • document.onclick
  • document.onkeydown

Untuk pengendalian acara yang dipertingkatkan semasa menatal, kod berikut boleh digunakan:

document.addEventListener('scroll', resetTimer, true);

Parameter sebenar yang dihantar kepada addEventListener memastikan acara itu ditangkap semasa fasa tangkapan dan bukannya fasa gelembung, memastikan pengesanan walaupun dalam elemen boleh tatal .

Ringkasnya

Dengan menggunakan JavaScript model berasaskan peristiwa, pembangun boleh mengesan masa terbiar pengguna dengan berkesan. Keupayaan ini boleh digunakan dalam pelbagai senario, termasuk pra-pemuatan kandungan, pengurusan kuasa dan mekanisme autolog keluar.

Atas ialah kandungan terperinci Bagaimanakah JavaScript Boleh Mengesan Masa Terbiar Pengguna?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn