Heim > Web-Frontend > js-Tutorial > Wie kann ich die Leerlaufzeit eines Benutzers in JavaScript erkennen?

Wie kann ich die Leerlaufzeit eines Benutzers in JavaScript erkennen?

Patricia Arquette
Freigeben: 2024-12-26 18:11:10
Original
162 Leute haben es durchsucht

How Can I Detect User Idle Time in JavaScript?

Leerlaufzeit in JavaScript erkennen

Einführung:

In der Webentwicklung das Verständnis der Benutzeraktivität ist entscheidend für die Optimierung der Leistung und die Bereitstellung einer besseren Benutzererfahrung. Durch das Erkennen von Leerlaufzeiten, definiert als Zeitraum der Inaktivität oder geringer CPU-Auslastung, können Sie Aktionen wie das Vorabladen von Inhalten oder die Benutzerauthentifizierung auslösen.

JavaScript-Implementierung:

Zur Erkennung Leerlaufzeit in JavaScript können Sie den folgenden Vanilla-JavaScript-Ansatz verwenden:

Code Snippet:

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
    }
};
Nach dem Login kopieren

Verwendung:

Um die Leerlaufzeiterkennung zu initialisieren, rufen Sie die Funktion inactivityTime() auf, nachdem die Seite geladen wurde:

window.onload = function() {
  inactivityTime();
}
Nach dem Login kopieren

Anpassung:

Sie können weitere DOM-Ereignisse hinzufügen Überwachen Sie die Benutzeraktivität. Einige der am häufigsten verwendeten Ereignisse sind:

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
Nach dem Login kopieren

Zur besseren Anpassung können Sie ein Array verwenden, um mehrere Ereignisse zu registrieren:

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

Indem Sie die von Ihnen überwachten Ereignisse anpassen, können Sie dies tun Passen Sie die Leerlaufzeiterkennung an die Anforderungen Ihrer spezifischen Anwendung an.

Das obige ist der detaillierte Inhalt vonWie kann ich die Leerlaufzeit eines Benutzers in JavaScript erkennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage