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.
Pingback: WP-Syntax: Code-Highlighting in WordPress | PehBehBeh