Jquery: windows.onunload не работает в Firefox и Chrome

В Jquery я вызываю метод $(window).unload(). он используется, когда я закрываю окно браузера, я возвращаю некоторые значения. Эта функция отлично работает в IE. но он не работает в других браузерах.

Функция $(window).unload() предназначена для i.e? Кто-нибудь может мне помочь. заранее спасибо.


person ELAYARAJA    schedule 25.06.2013    source источник
comment
Я считаю, что это window.onunload [ширина S], и это основной javascript.   -  person CME64    schedule 25.06.2013
comment
Что именно вы возвращаете? onunload должен работать одинаково везде   -  person Entity Black    schedule 25.06.2013
comment
@ CME64, извините, вы правы. я только что отредактировал свой вопрос.   -  person ELAYARAJA    schedule 25.06.2013
comment
вот мой код: $(window).unload(function() { if(event.clientY ‹ 0) { returnValue=2; } });   -  person ELAYARAJA    schedule 25.06.2013
comment
Что ты пытаешься сделать ? а где вы ловите это событие? и почему вы хотите присвоить значение, когда пользователь покидает страницу? его все равно сбросят   -  person CME64    schedule 25.06.2013
comment
я открываю модальное окно, в этом окне у меня есть два варианта закрытия окна: один - кнопка отмены, а другой - кнопка закрытия браузера. если я закрою окно кнопкой отмены, это означает, что вся функция завершена, если я закрою окно браузера, это означает только параметры браузера. в этом месте только я возвращаю значения.   -  person ELAYARAJA    schedule 25.06.2013
comment
Я не понимаю вас, можете ли вы уточнить четкую сюжетную линию?   -  person CME64    schedule 25.06.2013
comment
@Elayaraja Вы можете попробовать использовать (родной) onbeforeunload вместо onunload. Также реализация showModalDialog() в Chrome настолько глючная, что довольно бесполезна.   -  person Teemu    schedule 25.06.2013
comment
@Teemu, я думаю, что это неправильное решение для меня. может показать мне любой пример. ?   -  person ELAYARAJA    schedule 25.06.2013
comment
@Elayaraja Пожалуйста, проверьте главное окно и диалог в jsFiddle. Диалоги, кажется, не работают в скрипке, но вы можете скопировать коды и попробовать сами. Обратите внимание, что, вероятно, эти фрагменты не работают в Chrome, но хорошо работают в IE и FF. На самом деле похоже, что onunload также будет работать в обоих браузерах...   -  person Teemu    schedule 25.06.2013
comment
Хм... еще одна вещь, событие onunload не имеет свойства с именем clientY, оно есть только у событий мыши.   -  person Teemu    schedule 25.06.2013
comment
Нет, он получает нулевое значение, когда я закрываю окно даже в Firefox.   -  person ELAYARAJA    schedule 25.06.2013
comment
@Elayaraja Да, на скрипке так и есть (также в IE). Вам нужно создать локальную копию из фрагментов, модальный диалог не работает в jsFiddle при использовании этого способа.   -  person Teemu    schedule 25.06.2013


Ответы (1)


<script>
window.onbeforeunload = function() {
    return "Are you sure?";
 };
</script>

or

$(window).on('beforeunload', function() {
    return 'Your own message goes here...';
});

в chorme есть несколько заблокированных методов onbeforeunload, таких как alert..
Пример chorme консоли отладки для алерта:

Blocked alert('My Window is reloading') during beforeunload.

ref1 ref2

person Alessandro Gabrielli    schedule 25.06.2013