У меня есть документ, открывающий другое всплывающее окно с window.open. В исходном окне я зарегистрировал (с помощью jquery) прослушиватель события «unload», подобного этому:
var popup_window = window.open(...)
$(popup_window).on('unload', function(event) ...
Я наткнулся на эту страницу, потому что это событие дважды срабатывало. Я обнаружил, что это не ошибка, она срабатывает дважды, потому что она запускается один раз, когда страница about: blank заменяется вашей страницей, а другая - при загрузке вашей страницы.
Все, что мне нужно сделать, это отфильтровать интересующее меня событие, запросив исходное событие:
function (event) {
var original_url = e.originalEvent.originalTarget.URL;
if (original_url != 'about:blank')
{
... do cool things ...
}
}
Я не знаю, относится ли это к исходному вопросу, потому что это особый случай, когда окно открывает другое, но я надеюсь, что это поможет.