Gibt es eine Möglichkeit zu erkennen, wenn ein browser-Fenster gerade nicht aktiv ist?

Habe ich JavaScript, das tut der Aktivität in regelmäßigen Abständen. Wenn der Benutzer nicht auf der Suche auf der Website (d.h., das Fenster oder die Registerkarte nicht im Fokus ist), es wäre schön, nicht zu laufen.

Gibt es eine Möglichkeit, dies zu tun mit JavaScript?

Mein Bezugspunkt: Gmail-Chat-spielt einen sound ab, wenn die Fenster, die Sie verwenden nicht aktiv ist.

Für diejenigen, die nicht zufrieden sind mit den Antworten unten, schauen Sie sich die requestAnimationFrame - API, oder verwenden Sie die moderne Funktion, die die Häufigkeit der setTimeout/setInterval wird reduziert, wenn das Fenster nicht sichtbar ist (1 sec in Chrome zum Beispiel).
Dokument.Körper.onblur=function(e){console.log('lama');} gearbeitet, für nicht fokussierte Elemente.
Siehe Antwort für eine cross-browser-kompatible Lösung, die verwendet die W3C-Sichtbarkeit der Seite-API, fallen zurück blur/focus in Browsern, die dies nicht unterstützen.
80% der Antworten sind nicht die Antworten auf diese Frage. Die Frage fragt nach nicht aktiv sondern auch Tonnen von Antworten unten sind über nicht sichtbar das ist keine Antwort auf diese Frage. Sie sollte wohl geflaggt werden als "keine Antwort"

InformationsquelleAutor Luke Francl | 2009-06-29

Schreibe einen Kommentar