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

Wie kann JavaScript die Leerlaufzeit eines Benutzers erkennen?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-10 22:50:11408Durchsuche

How Can JavaScript Detect User Idle Time?

Leerlaufzeit in JavaScript erkennen

Leerlaufzeit, definiert als ein Zeitraum der Benutzerinaktivität oder ohne CPU-Auslastung, kann für verschiedene Zwecke genutzt werden wie zum Beispiel das Vorabrufen von Inhalten. In diesem Artikel werden Möglichkeiten zur Identifizierung von Leerlaufzeiten in JavaScript untersucht.

Vanilla-JavaScript-Implementierung

Eine Methode besteht darin, den ereignisbasierten Ansatz von Vanilla-JavaScript zu nutzen. Durch die Registrierung von Listenern für DOM-Ereignisse, die Benutzeraktivitäten anzeigen, wie z. B. Mausbewegungen, Tastenanschläge oder Scrollen, kann das System erkennen, wann ein Benutzer inaktiv wird.

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

Durch die Initialisierung der inactivityTime-Funktion beginnt das JavaScript-Skript Auf Benutzeraktivität achten. Wenn innerhalb eines bestimmten Zeitintervalls (z. B. 3000 Millisekunden) keine Ereignisse ausgelöst werden, wird die Abmeldefunktion aufgerufen, was auf Benutzerinaktivität hinweist.

Erweiterung der Erkennungsabdeckung

Zur Verbesserung Leerlaufzeiterkennung, zusätzliche DOM-Ereignisse können registriert werden. Häufig verwendete Ereignisse umfassen:

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

Für Verbesserte Ereignisbehandlung beim Scrollen, der folgende Code kann verwendet werden:

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

Der an addEventListener übergebene true-Parameter stellt sicher, dass das Ereignis während der Erfassungsphase und nicht in der Blasenphase erfasst wird, wodurch die Erkennung auch innerhalb scrollbarer Elemente sichergestellt wird .

Zusammenfassung

Durch die Verwendung des ereignisbasierten JavaScript-Modells können Entwickler die Leerlaufzeit von Benutzern effektiv erkennen. Diese Funktion kann in verschiedenen Szenarien eingesetzt werden, einschließlich Vorladen von Inhalten, Energieverwaltung und Mechanismen zur automatischen Abmeldung.

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

Stellungnahme:
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