Ich muss wissen, ob der Benutzer gerade einen Tab in Google Chrome anzeigt oder nicht. Ich habe versucht, die Ereignisse zu verwischen und den Fokus auf das Fenster zu fokussieren, aber nur die Unschärfe scheint korrekt zu funktionieren.Wie erkennt man, ob ein Tab in Chrome mit Javascript aktiviert ist oder nicht?
window.addEventListener('focus', function() {
document.title = 'focused';
});
window.addEventListener('blur', function() {
document.title = 'not focused';
});
Das Fokusereignis funktioniert seltsam, nur manchmal. Wenn ich zu einer anderen Registerkarte und zurück wechsle, wird das Fokusereignis nicht aktiviert. Aber wenn ich auf die Adressleiste und dann auf die Seite klicke, wird es. Oder wenn ich zu einem anderen Programm und dann zurück zu Chrome wechsle, wird es aktiviert, wenn der Tab gerade fokussiert ist.
Haben Sie versucht, diese Ereignisse anhängen zu 'docment' statt' window'? – Crozin
Ich bin mir nicht sicher, ob dies die Ereigniserkennung betrifft, aber die 'window.focus'-Aktion ist in Chrome deaktiviert (oder zumindest fehlerhaft). Siehe [hier] (http://code.google.com/p/chromium/issues/detail?id=1674) und [hier] (http://stackoverflow.com/questions/2703314/in-google-chrome- how-do-i-bring-ein-existing-popup-window-to-the-front-using-java) für mehr. – brahn
Funktioniert auch nicht mit dem Dokument und dies ist für das Fokusereignis und nicht für die Fokusaktion. Ich denke, ich werde meinen Ansatz ändern und das Ereignis entweder auf Mouseover oder Fenster scrollen ändern. Für dieses Szenario ist es angemessen. – fent