Как отключить всплывающие окна «Вы уверены, что хотите покинуть эту страницу» в Chrome?

22

Есть ли способ отключить Вы уверены, что хотите покинуть эту страницу? сообщение на сайте? Я использую Chrome.


источник

Ответы:

8

Эти сообщения реализуются разработчиками веб-сайта путем прослушивания событий onunloadили onbeforeunload.

На about.com доступен пользовательский скрипт, который блокирует эти события.

Чтобы установить этот пользовательский скрипт (или другие пользовательские скрипты), вам сначала нужно установить расширение Chrome под названием TamperMonkey .

Будьте осторожны при установке пользовательских скриптов, они способны делать то, что вы, возможно, не хотите. Устанавливайте пользовательские скрипты только из надежных источников.

Видар Рамдал
источник
это больше не полезно ..
pjpj
это решение не работает
Аргус
3
$(window).off('beforeunload.windowReload');

Это работает для меня.

Ашвини КР
источник
4
Немного больше подробностей о вашем предложенном решении поможет
Дейв М
1

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

$(window).off('beforeunload'); // tested in IE 11 and Chrome 62

Из документов JQuery

Вызов .off () без аргументов удаляет все обработчики, прикрепленные к элементам. Определенные обработчики событий могут быть удалены в элементах, предоставляя комбинации имен событий, пространств имен, селекторов или имен функций обработчиков.

Таким образом, в сумме $(window)мы получаем ссылку на объект окна, который обернут в объект jQuery. Эта обертка дает нам доступ к API jQuery, которые доступны для объекта (например, .off). Вызов .off()и предоставление строки beforeunloadудалит всех слушателей события, которые ранее прослушивали beforeunloadсобытие.

Примечание: я играл с ванильными подходами JS, которые я нашел после небольшого исследования Google. Однако я не смог заставить эти подходы работать в отведенное мне время, чтобы решить эту проблему. Если у кого-то есть метод, отличный от jQuery, который по-прежнему совместим с браузерами, пожалуйста, прокомментируйте или оставьте дополнительный ответ. :)

wickdninja
источник
Мне не удалось использовать принятый ответ, и jQuery уже был доступен на странице.
wickdninja
2
Это было бы лучшим ответом, если бы вы объяснили, как его использовать, и, в идеале, кое-что о том, как это работает.
Скотт
0

поэтому, чтобы получить команду от @wickdninja, сначала установите Chrome Developer Tools. Затем вы можете открыть это, и вы увидите вкладку «Консоль». Нажмите вкладку Консоль. Затем для включения jQuery введите эти команды:

var jqry = document.createElement('script');
jqry.src = "https://code.jquery.com/jquery-3.3.1.min.js";
document.getElementsByTagName('head')[0].appendChild(jqry);
jQuery.noConflict();

Затем введите:

$(window).off('beforeunload');

после этого я могу открывать / закрывать свой Gmail, не получая «Выйти?» незамедлительный. https://developers.google.com/web/tools/chrome-devtools/console/javascript

надеюсь это поможет.

Ли Хауншелл
источник
-4

Вы можете отключить Javascript для каждого сайта отдельно. Перейдите в Настройки -> Показать дополнительные настройки -> Конфиденциальность -> Настройки контента -> Javascript -> Управление исключениями.

Алексис Хаксли
источник
4
Да, но это отключит не только сообщение.
BenjiWiebe
По крайней мере, в FIrefox запрещение Facebook запускать javascript даже не выполняет то, что намеревается OP, поскольку страница просто перезагружает скрипт, не выполняя его.
brokkr