Ответ 1
Современные браузеры WebKit не обязательно запускают событие unload
в тот момент, когда страница скрыта. Это делается для того, чтобы улучшить кэширование.
Возможно, вы захотите заменить использование unload
событием pagehide
.
У меня есть родительская страница и дочерняя страница. В теге тела дочерней страницы у меня есть код ниже.
<body onunload="window.g_autoclosed=true;if(window.opener&&window.opener.NavModelessClose){window.opener.NavModelessClose(window,false);}">
когда я нажимаю кнопку на родительской странице, дочерняя страница должна закрываться и вызывать событие onunload.
Событие разгрузки правильно повышается в IE и FF. Но он не поднимается в хроме и сафари.
Пожалуйста, помогите мне.
Современные браузеры WebKit не обязательно запускают событие unload
в тот момент, когда страница скрыта. Это делается для того, чтобы улучшить кэширование.
Возможно, вы захотите заменить использование unload
событием pagehide
.
Unload работает в современных браузерах, но, например, вы не можете запустить оповещение. Видеть: http://bugs.jquery.com/ticket/10509
Также, если вы хотите использовать $.get или $.post в разгрузке, лучше использовать $.ajax с async = false.
Пример:
$(window).unload(function() {
$.ajax({
url: '/some_url.htm',
async: false
});
});
Возможно, попробуйте onbeforeunload
событие?
yea onbeforeunload, прикрепленная к окну (или внутреннему окну дочерней страницы), должна это сделать