Firefox, почему window.opener определяется даже для новой вкладки

Я переношу довольно старое корпоративное приложение из IE в Firefox. Вот моя ситуация.

Пользователь на некоторое время отходит от компьютера, и срок его сеанса истекает.

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

Парень до меня написал это так: если window.top.opener не определено, мы не во всплывающем окне. Он отлично работал в IE, но я получаю непрерывное обновление в Firefox.

Почему в Firefox window.opener по-прежнему определяется и указывает на то же окно, даже если это новая вкладка, а не всплывающее окно? Как мне правильно определить, что текущее окно является всплывающим?


person jonny    schedule 05.05.2010    source источник
comment
С точки зрения DOM нет никакой разницы между открытием в новом окне или новой вкладке. Это просто разница в пользовательском интерфейсе   -  person Yuliy    schedule 05.05.2010


Ответы (1)


Не открывайте новые окна. Используйте несколько слоев на странице, чтобы показать это сообщение. Посмотрите на thickbox или что-то в этом роде.

person dariol    schedule 05.05.2010
comment
Я определенно должен последовать вашему совету, но, к сожалению, я просто не могу переписать все приложение (в моем случае всплывающие окна - это не просто всплывающие окна, а отдельные полнофункциональные окна) - person jonny; 05.05.2010