window.onfocus не работает в IE7, несовместимо в Opera
Обратите внимание, что это относится к событиям фокусировки и размытия в окне, а не в полях формы.
Я загружаю документ во всплывающем окне, и он содержит следующий код:
<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 ответ если действительно нет другого пути обойти это.
Спасибо!