Как отобразить предупреждение перед тем, как покинуть сайт, нажав на вкладку в Chrome? - PullRequest
0 голосов
/ 23 мая 2019

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

<script language="JavaScript">
    window.onbeforeunload = confirmExit;
    function confirmExit() {
        return "You have attempted to leave this page. Are you sure?";
    }
</script>

В IE все работает нормально. Мне не нужно отображать какие-либо пользовательские сообщения. Мне просто нужно предупредить пользователя, что он покинет сайт. Есть идеи, почему это не работает? Есть ли другой способ заставить браузер отображать предупреждение перед тем, как покинуть сайт?

РЕДАКТИРОВАНИЕ: я использую Google Chrome версии 74.0.3729.169

enter image description here

Ответы [ 3 ]

0 голосов
/ 23 мая 2019

Используйте функцию confirm():

function confirmExit(e) {
  if (!confirm("You have attempted to leave this page. Are you sure?")) {
    e.preventDefault();
    return false;
  }
}
0 голосов
/ 23 мая 2019

Я нашел решение благодаря @ barbsan . Ссылка, которую он предоставил, содержит решение.

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

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

https://developer.mozilla.org/en-US/docs/Web/API/BeforeUnloadEvent

0 голосов
/ 23 мая 2019
window.onbeforeunload = function (e) {
  var message = "Your confirmation message goes here.",
  e = e || window.event;
  // For IE and Firefox
  if (e) {
    e.returnValue = message;
  }

  // For Safari
  return message;
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...