„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich die Leerlaufzeit eines Benutzers in JavaScript erkennen?

Wie kann ich die Leerlaufzeit eines Benutzers in JavaScript erkennen?

Veröffentlicht am 21.12.2024
Durchsuche:716

How Can I Detect User Idle Time in JavaScript?

Leerlaufzeit in JavaScript erkennen

Einführung:

In der Webentwicklung das Verstehen 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
    }
};

Verwendung:

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

window.onload = function() {
  inactivityTime();
}

Anpassung:

Sie können weitere DOM-Ereignisse hinzufügen, um die Benutzeraktivität zu überwachen. 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

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

Durch Anpassen der von Ihnen überwachten Ereignisse können Sie die Leerlaufzeiterkennung an die Anforderungen Ihrer spezifischen Anwendung anpassen.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3