Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Mengesan Masa Terbiar dalam JavaScript untuk Mengoptimumkan Pemuatan Kandungan?

Bagaimanakah Saya Boleh Mengesan Masa Terbiar dalam JavaScript untuk Mengoptimumkan Pemuatan Kandungan?

Patricia Arquette
Lepaskan: 2024-12-12 12:27:24
asal
795 orang telah melayarinya

How Can I Detect Idle Time in JavaScript to Optimize Content Loading?

Mengesan Masa Terbiar dalam JavaScript untuk Pemuatan Kandungan Dioptimumkan

Dalam alam JavaScript, mengesan masa terbiar adalah penting untuk melaksanakan ciri seperti pra-pengambilan dan pramuat kandungan untuk meningkatkan pengalaman pengguna. Dalam artikel ini, kami meneroka kaedah untuk mengesan apabila pengguna melahu, menunjukkan kekurangan penggunaan CPU atau interaksi pengguna.

Penyelesaian JavaScript Vanila

Untuk mencapai matlamat ini, kami boleh menggunakan JavaScript vanila dengan pendekatan berikut:

var inactivityTime = function () {
    var time;
    // Reset inactivity timer on page load and DOM events
    window.onload = resetTimer;
    document.onmousemove = resetTimer;
    document.onkeydown = resetTimer;

    function logout() {
        // Log out or perform any desired action upon idle time
        alert("You are now logged out.")
    }

    function resetTimer() {
        // Clear the timeout and set a new one for the idle time period
        clearTimeout(time);
        time = setTimeout(logout, 3000);
    }
};
Salin selepas log masuk

Setelah fungsi ini ditakrifkan, anda boleh memulakannya jika perlu (cth., pada pemuatan halaman):

window.onload = function() {
  inactivityTime();
}
Salin selepas log masuk

Acara DOM Tambahan untuk Ketepatan Yang Dipertingkat

Untuk memperhalusi pengesanan masa terbiar, anda boleh memasukkan lebih banyak acara DOM yang menunjukkan aktiviti pengguna. Berikut ialah acara yang biasa digunakan:

document.onload
document.onmousemove
document.onmousedown
document.ontouchstart
document.onclick
document.onkeydown
Salin selepas log masuk

Anda juga boleh menggunakan tatasusunan untuk mendaftarkan berbilang acara:

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

Pertimbangan untuk Menatal Acara

Perhatikan bahawa window.onscroll tidak mengesan tatal dalam elemen boleh tatal. Untuk menangani perkara ini, gunakan window.addEventListener('scroll', resetTimer, true) dengan argumen ketiga ditetapkan kepada benar.

Dengan teknik ini, anda boleh mengesan masa terbiar dalam JavaScript dengan tepat, membolehkan anda mengoptimumkan pemuatan kandungan strategi untuk pengalaman pengguna yang lebih baik.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesan Masa Terbiar dalam JavaScript untuk Mengoptimumkan Pemuatan Kandungan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan