Beachten Sie, dass diese und auf ein Fenster verschwimmen Ereignisse konzentrieren bezieht, nicht auf Formularfelder.window.onfocus Brennen nicht in IE7, inkonsistent in Opera
ich ein Dokument in einem Pop-up-Fenster geladen, und es enthält den folgenden Code:
<script type="text/javascript">
window.onblur = function(){ document.title="BLURRED"; }
window.onfocus= function(){ document.title="FOCUSED"; }
</script>
Diese Funktionen sind zeitlich begrenzt, zum Testen. Ich hatte gehofft, diese Ereignisse benutzen zu können, um eine Flagge zu setzen, die den Fensterzustand anzeigt; Ich mache eine Chat-App, und wenn Nachrichten eingehen, wenn sie minimiert ist, werde ich etwas Aufmerksamkeit darauf richten, um Titeländerungen zu erhalten. Wenn sie jedoch nicht abbrechen, wenn das Fenster scharf wird, sind sie nur nervig.
Onload, habe ich auch Fokus in eine Textarea. (Nicht sicher, ob das einen Unterschied macht.)
IE7 (ich habe keine andere Version handlich) scheint die window.onblur
zu erkennen, aber nicht die window.onfocus
. Opera 10 ist einfach seltsam.
Hier ist, was in den Browsern passiert ich habe. Ich starte die Popup-Fenster in den übergeordneten auf dem Link, indem Sie auf, geht dann durch Zyklen mehr minimieren-Wiederherstellung durch den Popup der Taste auf der (Windows XP) Taskleiste klicken:
Safari 4:
- Fenster öffnen: öffnet Dokument mit Originaltitel
- minimieren: Titel Änderungen "verschmiert" auf
- Restore: Titel ändert sich auf "focused"
Das ist, was ich geschehen erwartet.
Firefox 3.5:
- Fenster öffnen: Dokument öffnet mit Originaltitel, wechselt dann auf "focused"
- minimieren: Titel Änderungen an "verschmiert"
- Restore: Titel ändert sich auf " FOKUSSIERTE "
Die onfocus onload ist eine kleine Überraschung, aber kein Problem.
IE7:
- Fenster öffnen: Dokument öffnet mit Originaltitel
- minimieren: Titel Änderungen "verschmiert" auf
- Restore: Titel ändert sich nicht, egal wie oft ich wechseln
Was onfocus passiert?
Opera 10.5
- Fenster öffnen: Dokument öffnet mit Originaltitel, aber in einem anderen Register, nicht Pop-up
Manchmal ...
- minimieren: Titel Änderungen an "verschmiert"
- Restore: Titel ändert sich auf "focused"
Manchmal ...
- minimieren: Titel ändert sich auf "verschmiert", dann "focused"
- Restore: Titel nicht
Okay, nicht ändert, dann ist dies einfach nur seltsam ...
ich bin zu anderen Ansätzen offen, aber ich möchte wirklich verstehen, was hier vor sich geht, in plain old Javascript - so bitte eine jQuery Antwort nicht geben, es sei denn, es gibt wirklich keinen anderen Weg, um dieses ist.
Danke!
Was event.target ist, wenn die Opera Tab minimiert wird und der Titel ändert sich nach wie vor auf ‚fokussiert‘? – hallvors
versucht, dies: http://jsbin.com/omeye3 und es scheint für mich OK zu arbeiten (einige Opera 10.70 Vorschau build). Könnten Sie eine kleine Demo erstellen, die das Problem für Sie zeigt? – hallvors
Falsches Verhalten auf Ihrem jsbin Test in Version 9.20 Build-8771 und Version 10.62 Bauen 3500. –