Не удается обнаружить событие закрытия вкладки в Google Chrome на странице Laravel - PullRequest
0 голосов
/ 10 июня 2019

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

Когда только (ctrl + shift + R) обновляет браузер, «сделанные вами изменения могут быть не сохранены». сообщение по умолчанию будет отображаться. Иначе ничего.

<script type="text/javascript">

  window.addEventListener('beforeunload', function (e) 
  {
  // Cancel the event
  e.preventDefault();
  console.log(e);
  // Chrome requires returnValue to be set
  e.returnValue = 'Are you sure?';
  });


</script>

Это предупреждение возвращается при перезагрузке страницы. [[Нарушение] Добавлен непассивный слушатель события к блокирующему прокрутку событию «touchstart». Пометьте обработчик событий как пассивный, чтобы сделать страницу более отзывчивой. Смотри https://www.chromestatus.com/feature/5745543795965952'

1 Ответ

0 голосов
/ 10 июня 2019

Я только что проверил это в Chrome (используя DevTools), и оно работает, из другого SO-ответа, здесь:

Обнаружение закрытия браузера или вкладки

window.addEventListener("beforeunload", function (e) {
  var confirmationMessage = "\o/";

  (e || window.event).returnValue = confirmationMessage; //Gecko + IE
  return confirmationMessage;                            //Webkit, Safari, Chrome
});

Если это не работает, подумайте, регистрируется ли ваш прослушиватель событий.

...