Подтвердить что ты не робот

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

Я хочу открыть диалоговое окно, прежде чем страница html будет выгружена с просьбой выгрузить страницу или нет. Если выбрано yes, то разгрузка продолжается, и если no выбрано, событие разгрузки отменяется.

4b9b3361

Ответ 1

Вы не можете установить текст в "yes" / "no" (это будет "Ok" / "Cancel" в большинстве браузеров), но вы можете запросить (будьте осторожны при использовании) при выходе из страницы любым способом, используя window.onbeforeunload, например:

window.onbeforeunload = function() {
  return "Are you sure you wish to leave the page?";
}

Используйте это только в том случае, если у вас есть веская причина, не раздражайте своих пользователей. При этом будет отображаться сообщение о выходе из страницы, которая включает историю назад, вперед, обновление, закрытие окна/вкладки, щелчок по ссылке для перехода или отправки формы и т.д. Таким образом, вы, вероятно, захотите назвать это, когда где-то, что не следует запрашивать:

window.onbeforeunload = null;

Например, отправляя форму информации, вы должны указать, когда выходите/теряете данные, но не при ее отправке.