Какие действия пользователя инициируются перед выгрузкой и в каких браузерах?

  • закрытие окна
  • обновление страницы
  • нажав на ссылку
  • ??

Это кажется непоследовательным. (Я в шоке!) Есть где-нибудь список? Меня особенно интересует Firefox, но интересны и другие. документы Mozilla неясны:

window.onbeforeunload
Событие, которое запускается перед событием выгрузки, когда страница выгружается.

window.onunload
Событие unload возникает, когда документ выгружается.

Спасибо.


person sprugman    schedule 15.07.2011    source источник
comment
Закрытие вкладки тоже. В основном, как раз тогда, когда страница вот-вот будет очищена из памяти.   -  person pimvdb    schedule 15.07.2011


Ответы (1)


window.onbeforeunload сработает перед тем, как вы перейдете с текущей страницы (с URL-адреса, кнопки НАЗАД, закрытия браузера и т. д.)

Событие не будет запущено в Opera. Но все другие браузеры, кажется, уважают это нормально.


Я использовал это в прошлом для сайтов с интенсивным использованием AJAX, в основном как способ избежать необходимости поддерживать кнопку НАЗАД.

Он также хорошо работает в качестве диалогового окна подтверждения, чтобы вы случайно не потеряли свою работу. Но пользователей может раздражать подтверждение. Так что это может быть недостаточной причиной для его использования.

person Teddy    schedule 15.07.2011
comment
Кажется, Chrome на Mac не срабатывает перед выгрузкой для кнопки «Назад». - person Edi; 09.07.2013
comment
@Edi Я только что протестировал Chrome на Mac, и у меня сработало событие. - person Teddy; 17.07.2013