Мне нужно вызвать метод при закрытии окна. Для этого я попытался установить оператор предупреждения, и он отлично работает как в IE, так и в FIREFOX. Но не работает в хроме. Пожалуйста помоги мне с этим..
$(window).bind('beforeunload', function(){
alert ("before unload")
});
Вы не можете этого сделать. В современных браузерах нет возможности надежно выполнять немедленную операцию над событием beforeunload
(особенно, все операции, связанные с запросом, обычно предотвращаются). Это мера безопасности: ничто, что может задержать или предотвратить закрытие окна пользователем, является приемлемым.
Вам нужно изменить логику вашего приложения. Современные приложения AJAX должны постоянно сохранять данные, которые требуют сохранения или обеспечивают видимый способ запуска сохранения, они не могут ждать закрытия окна. И вам нужно управлять сессиями на сервере на протяжении всего жизненного цикла, не полагаясь на браузер, выходящий из системы.
Что касается предупреждения и Chrome, здесь выдержка из MDN:
Начиная с 25 мая 2011 года спецификация HTML5 заявляет, что вызовы методов window.showModalDialog(), window.alert(), window.confirm() и window.prompt() могут игнорироваться во время этого события.
Вероятно, все больше браузеров предотвратит это предупреждение, которое в большинстве случаев просто болезненно.
useragent
и выполнить соответствующий блок кода. или проверьте этот stackoverflow.com/questions/1997956/…