Javascript - события максимизации и переключения вкладок не вызываются в Firefox с использованием фокуса - PullRequest
1 голос
/ 21 марта 2011

У меня странное поведение, и мне нужна помощь ..

Я пытаюсь перехватить каждое событие переключения вкладок и каждое событие максимизации (т.е. всякий раз, когда отображается мое окно), используя следующий код:

window.addEventListener("focus", function (e) { this.foo(e); }, false);
window.document.addEventListener("focus", function (e) { this.foo(e); }, false);

Тем не менее, это не поймать максимизировать событие Как я могу узнать, когда пользователь максимизирует мое окно после свертывания?

Кроме того, мне кажется излишним иметь как window.addEventListener («фокус»), так и window.document.addEventListener («фокус»), но я обнаружил, что при переключении между вкладками выбранный документ, на котором он фокусируется, может не будь то содержание, которое меня интересует, вот почему я использую window.focus .... Однако оно не всегда запускает это событие для окна, поэтому я должен слушать оба фокуса ... Что ты думаешь?

Не могли бы вы помочь мне понять, где моя проблема? Мне нужно создать событие, которое будет вызывать переключение \ максимизацию каждой вкладки - и для каждого документа в моем окне, чтобы оно обрабатывало мой контент?

Большое спасибо, Нили

1 Ответ

0 голосов
/ 21 марта 2011

Вы можете использовать window.onresize событие, если window.outerHeight === screen.availHeight && window, outerWidth === screen.availWidth ,оно максимизировано.

Но externalHeight / Width НЕ поддерживает IE8-, см. http://www.javascriptkit.com/domref/windowproperties.shtml

Обновлено: для IE8-хаков: если вы можете быть уверены, что пользователь может принять, чтобы максимизировать размер окна до максимума, вы можете использовать window.resizeTo (screen.availWidth, screen.availHeight) и записать document.documentElement.clientWidth и document.documentElement.clientHeight для сравненияесли это будет развернуто на потом.

...