Movatterモバイル変換


[0]ホーム

URL:


  1. Веб-технологии для разработчиков
  2. Интерфейсы веб API
  3. Window
  4. Window: beforeunload event

This page was translated from English by the community.Learn more and join the MDN Web Docs community.

View in EnglishAlways switch to English

Window: beforeunload event

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Событиеbeforeunload запускается, когда окно, документ и его ресурсы вот-вот будут выгружены. Документ все ещё виден, и событие в этот момент может быть отменено.

ВсплываемостьНет
ОтменяемостьДа
ИнтерфейсEvent
Свойство обработчика событийonbeforeunload

Это событие позволяет веб-странице вызвать диалоговое окно подтверждения, спрашивающее пользователя, действительно ли он хочет покинуть страницу. Если пользователь подтверждает, браузер переходит на новую страницу, в противном случае он отменяет навигацию.

В соответствии со спецификацией, для отображения диалогового окна подтверждения обработчик события должен вызватьpreventDefault() по событию.

Однако обратите внимание, что не все браузеры поддерживают этот метод, а некоторые требуют от обработчика событий реализации одного из двух старых методов:

  • назначение строки свойству returnValue события
  • возвращающий строку из обработчика событий.

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

Для борьбы с нежелательными всплывающими окнами браузеры могут не отображать подсказки, созданные в обработчиках событийbeforeunload, за исключением случаев, когда страница была обработана или даже не отображается вообще.

Прикрепление обработчика событий кwindow илиdocumentbeforeunload событие не позволяет браузерам использовать кеш навигации по страницам в памяти, наподобиеFirefox's Back-Forward cache orWebKit's Page Cache.

В спецификации HTML указано, что вызовыwindow.alert(),window.confirm(), иwindow.prompt() методы могут быть проигнорированы во время этого события. ПосмотретьHTML specification для более подробной информации.

Примеры

В HTML-спецификации указано, что авторы должны использовать методEvent.preventDefault(), а неEvent.returnValue. Однако, это поддерживается не всеми браузерами.

js
window.addEventListener("beforeunload", (event) => {  // Отмените событие, как указано в стандарте.  event.preventDefault();  // Chrome требует установки возвратного значения.  event.returnValue = "";});

Спецификации

Specification
HTML
# event-beforeunload
HTML
# handler-window-onbeforeunload

Совместимость с браузерами

СмотритеWindowEventHandlers/onbeforeunload для получения более подробной информации о том, как различные браузеры обрабатывают это событие.

Смотрите также

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2026 Movatter.jp