JavaScript. Определение момента закрытия дочернего окна

unlimbox
На сайте с 03.01.2008
Offline
56
2997

Доброго времени суток!

Вопрос следующий:

Как определить (какое событие наступает?) закрытие пользователем дочернего окна, вызванного ф-цией window.open().?

Интересует только закрытие окна путем клика мышкой по правой верхней кнопке окна - "крестике".

Условия: событие нужно отловить в окне "родителе", дочернее окно принадлежит стороннему домену.

Спасибо.

JamBlog.ru (http://jamblog.ru)
koala
На сайте с 18.07.2006
Offline
39
#1
unlimbox:
Доброго времени суток!
Вопрос следующий:
Как определить (какое событие наступает?) закрытие пользователем дочернего окна, вызванного ф-цией window.open().?
Интересует только закрытие окна путем клика мышкой по правой верхней кнопке окна - "крестике".
Условия: событие нужно отловить в окне "родителе", дочернее окно принадлежит стороннему домену.
Спасибо.

такого штатного события нет, но можно в дочернем окне по onBeforeUnload/onUnload/.unload() создать "сигнальною" куку и отследить её появление в основном окне (поскольку кука создаётся на стороне клиента, домен роли не играет)

[umka]
На сайте с 25.05.2008
Offline
456
#2

Вы когда окно открываете, у вас остаётся "дескриптор"

w=window.open(...);

и на него уже попробуйте повесить

w.onbeforeunload=function() { return; }

Лог в помощь!
S
На сайте с 03.03.2008
Offline
91
#3

В дочернем окне можно сделать так:

<body onunload="javascript: alert('Упс, окно закрывается!');">

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий