[116]
13 мая 2014, 23:23

JavaScript узнать закрыто ли окно (вкладка) браузера из другого окна

Привет!

Как из JavaScript узнать закрыто ли окно или вкладка браузера из другого окна. Разумеется все делается на том же домене.

Задача такова, нужно производить действия, если потеряна связь с другим открытым окном. Остаётся вопрос, возможно ли узнать о закрытии окна из другого окна.

#javascript

Комментарии (1)
grom
14 мая 2014, 14:47
#

Можно воспользоваться механизмом postMessage см. webonrails.ru/post/1925/

Например при закрытии окна срабатывает событие onbeforeunload. Мы его можем отловить.

window.onbeforeunload = function() {
window.opener.postMessage('closed', 'http://www.example.com');
};

Ну, а в основном окне ловим наше сообщение.

window.addEventListener('message', function(event) {
if( event.origin != 'http://www.example.com' ) return;
if( event.data == 'closed' ) {
alert('popup окно было закрыто');
}
}, false);

Разумеется это работает только с popup окнами. Окнами открытыми программно из основного окна.
По другому, только если на ActionScript отслеживать, там есть механизм обмена данными между запущенными флешками.

Добавить комментарий

Войдите, чтобы написать о чем-нибудь...
Вход Регистрация
Web.onRails
Здесь вы можете спросить или написать обо всём, что касается Веб-разработки.
написать о чем-нибудь...
Метки: