PehBehBeh

Erfahrungen eines Hobby-Webentwicklers

Mit jQuery Inaktivität des Users feststellen

| 3 Kommentare

Für ein kleines Projekt suchte ich letztens nach einer guten Möglichkeit die Inaktivität des Users zu erkennen. Auf der Seite befinden sich nämlich neben einem Chat noch andere Dinge, die nicht unbedingt ständig aktualisiert werden müssen, wenn der Benutzer gar nicht anwesend ist. Und tatsächlich gibt es dafür schon ein Plugin für jQuery, sodass man das Rad nicht neu erfinden muss.


Anwendungsmöglichkeiten

Ergänzend zum bereits genannten Anwendungsfall nennt der Autor des Plugins noch folgende Möglichkeiten:

  • nachladen von weiteren Inhalten
  • die Aufmerksamkeit des Benutzers zurückgewinnen
  • Onlinebanking-Sessions beenden
  • die Seite heimlich verschwinden lassen, und schauen ob der Benutzer es merkt 😉

Verwendung

Die Verwendung ist relativ einfach:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// idleTimer() akzeptiert einen optionalen Parameter, der die Inaktivitätszeit festlegt
// Timeout in Millisekunden; Standard: 30000
$.idleTimer(10000);
 
$(document).bind("idle.idleTimer", function(){
    // Funktion, die ausgelöst wird, wenn der Benutzer inaktiv wird
});
 
$(document).bind("active.idleTimer", function(){
    // Funktion, die ausgelöst wird, wenn der Benutzer wieder aktiv wird
});
 
// um den Timer zu stoppen, muss 'destroy' übergeben werden
$.idleTimer('destroy');
 
// prüfen ob der Benutzer aktiv/inaktiv ist mit data()
$.data(document,'idleTimer');  // 'idle' oder 'active'
 
// Zeit abfragen, die der Benutzer bereits idle/active ist
$.idleTimer('getElapsedTime'); // Zeit in ms seit dem letzten Statuswechsel

Download & Demo

Das ganze schimpft sich jQuery idleTimer Plugin und ist hier auf GitHub verfügbar.
Eine Demo ist ebenfalls vorhanden.

Dir hat der Artikel gefallen?
Dann abonniere doch den RSS-Feed!