Я хочу поднять событие, когда всплывающее окно закрывается или желательно, перед закрытием. Я сохраняю объект всплывающего окна как объект, но я не знаю, как связать его с событием close или событием непосредственно перед закрытием окна.
var popupWindow = window.open("/popup.aspx", "popupWindow", "height=550,width=780");
Есть ли способ подписаться на событие close, используя jQuery, или просто сырой javascript? Я использую jQuery и не могу добавить другую библиотеку, поэтому, если это невозможно сделать в jQuery, мне придется каким-то образом перевернуть мою собственную систему событий, чтобы она работала во всех браузерах.
UPDATE:
Я попытался использовать событие unload в jQuery, и по какой-то причине событие возникает, как только открывается всплывающее окно, а не когда оно закрыто. Если я использую Firebug, чтобы установить точку останова, чтобы задержать событие разгрузки от подписки, событие выгрузки работает так, как предполагается, но по какой-то причине оно работает неправильно, когда javascript разрешается выполнять естественным образом.
var popupWindow = window.open("/popup.aspx", "popupWindow", "height=550,width=780");
$(popupWindow.window).unload(function() { alert('hello'); });
Кто-нибудь знает, почему событие загрузки может быть поднято при загрузке окна?
Еще одна проблема заключается в том, что я заметил, что событие jQuery "выгрузить" не остается подписчиком на окно, как обычно, если я просто делаю:
popupWindow.onunload = function(){alert('hello')};
Кажется, что он отменил подписку на событие каждый раз, когда он поднят. Это должно произойти? Если бы не эта ошибка (или функция?) В jQuery, было бы хорошо, если бы событие было поднято при загрузке, так как я могу проверить свойство popupWindow.closed
внутри события, чтобы убедиться, что окно действительно закрыто.