«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как выполнить код при закрытии окна браузера или обновлении страницы?

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

Опубликовано 22 ноября 2024 г.
Просматривать:523

How to Execute Code on Browser Window Close or Page Refresh?

Выполнение кода при закрытии окна браузера или обновлении страницы

Часто желательно выполнять определенные действия, когда пользователь закрывает окно браузера или обновляет веб-страницу. К счастью, для решения этой задачи есть два обработчика событий: window.onbeforeunload и window.onunload.

window.onbeforeunload

Событие onbeforeunload запускается, когда пользователь пытается покинуть страницу. Обычно он используется для отображения окна подтверждения, предлагающего пользователю подтвердить свой выбор или запретить ему покинуть страницу, если у него есть несохраненные данные. Однако, не возвращая строку или не устанавливая event.returnValue, вы можете запретить браузеру показывать сообщение и выполнять ваш код автоматически.

window.onunload

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

Реализация

Оба onbeforeunload и onunload можно назначить свойствам окна или используя метод .addEventListener. Вот пример:

// window property
window.onbeforeunload = function() {
  // Do something
};

// .addEventListener
window.addEventListener("beforeunload", function(e) {
  // Do something
});

Примечание:

В случае iframe события onbeforeunload не срабатывают, когда iframe удаляется его родительским элементом, но события выгрузки и скрытия страницы срабатывают. Однако в Firefox в настоящее время имеется ошибка, которая не позволяет этим событиям срабатывать в случаях удаления iframe, что делает невозможным запуск кода непосредственно перед удалением iframe в Firefox.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3