Обратите внимание, что это относится к событиям фокусировки и размытия в окне, а не в полях формы.
Я загружаю документ во всплывающем окне, и он содержит следующий код:
<script type="text/javascript">
window.onblur = function(){ document.title="BLURRED"; }
window.onfocus= function(){ document.title="FOCUSED"; }
</script>
Эти функции являются временными для тестирования. Я надеялся использовать эти события, чтобы установить флаг, указывающий состояние окна; Я работаю с приложением чата, и если сообщения приходят, когда оно свернуто, я сделаю некоторые изменения в названии. Если они не отменят, когда окно будет в фокусе, они просто будут раздражать.
Onload, я также поместил фокус в текстовую область. (Не уверен, что это имеет какое-либо значение.)
IE7 (у меня нет другой удобной версии), похоже, распознает window.onblur
, но не window.onfocus
. Opera 10 просто странная.
Вот что происходит в моих браузерах. Я запускаю всплывающее окно, нажимая на ссылку в родительском окне, затем прохожу несколько циклов минимизации-восстановления, нажимая кнопку всплывающего окна на панели задач (Windows XP):
Safari 4:
- Открыть окно: документ открывается с оригинальным заголовком
- Свернуть: заголовок меняется на "BLURRED"
- Восстановление: название изменяется на «FOCUSED»
Это то, что я ожидал.
Firefox 3.5:
- Открыть окно: документ открывается с оригинальным заголовком, затем изменяется на «ФОКУСИРОВАННЫЙ»
- Свернуть: заголовок меняется на "BLURRED"
- Восстановление: название изменяется на «FOCUSED»
Onfocus onload немного удивительно, но не проблема.
IE7:
- Открыть окно: документ открывается с оригинальным заголовком
- Свернуть: заголовок меняется на "BLURRED"
- Восстановление: Название не меняется, независимо от того, сколько раз я переключаю
Что случилось с onfocus?
Опера 10,5
- Открыть окно: документ открывается с оригинальным заголовком, но не на другой вкладке, а на другой вкладке
Иногда ...
- Свернуть: заголовок меняется на "BLURRED"
- Восстановление: название изменяется на «FOCUSED»
Иногда ...
- Свернуть: заголовок меняется на «BLURRED», затем «FOCUSED»
- Восстановление: название не изменяется
Хорошо, это просто странно ...
Я открыт для других подходов, но мне бы очень хотелось понять, что здесь происходит, в простом старом Javascript - поэтому пожалуйста, не давайте jQuery ответ , если на самом деле нет другого способ обойти это.
Спасибо!