Предотвратить закрытие страницы

106
27 ноября 2019, 16:40

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

window.onbeforeunload = function(){
    return "Message"; // в старых версиях хрома можно было вернуть строку, и она показывалась бы в системной табличке как сообщение. 
    //Теперь это сообщение игнорируется, и чтобы перехватить закрытие страницы, данное событие должно вернуть не null/undefined
}

Этот способ плох по двум причинам:

  1. Это работает не везде. Mozilla игнорирует это событие, в Safari не тестировал. А вот Enge, Chrome, Yandex, Dragon, IceDragon, IE(и Опера тоже скорее всего) поддерживают это событие.
  2. Я не могу ничего сделать с этими табличками, не поменять стиль, ни задать текст, ничего вообще.

Вопрос: есть какой-нибудь вариант перехватывать событие закрытия(кроссбраузерный) и выполнять при этом свой код? Тогда я смогу выдать свою табличку. Ах да, главное, чтобы была возможность отмены события. Большое спасибо.

READ ALSO
Использование класса js

Использование класса js

Создаю popUp в js , не получается скрыть егоПодскажите пожалуйста в чем проблема

127
CKEDITOR5 wyswig

CKEDITOR5 wyswig

Есть такой wyswig под названием Ckeditor5 https://ckeditorcom/docs/ckeditor5/latest/builds/guides/integration/frameworks/vuejs

80
проблемы с EventListener

проблемы с EventListener

Работает только если открыто несколько оконКак сделать чтобы работало, если открыто одно окно?

121
Переписать код с Jquery на Javascript

Переписать код с Jquery на Javascript

Как перевести код с jQuery на javascript

86