如何禁用Chrome中的“确定要离开此页面”弹出窗口?


22

有没有一种方法可以禁用“ 确定要离开此页面”?网站上的消息?我正在使用Chrome。

Answers:


8

网站开发人员通过监听onunloadonbeforeunload事件来实现这些消息。

about.com上有一个阻止这些事件的用户脚本

为了安装此用户脚本(或其他用户脚本),您需要首先安装一个名为TamperMonkey的Chrome 扩展程序

安装用户脚本时要小心,因为它们可以执行您可能不需要的操作。仅安装来自受信任来源的用户脚本。


它不再有用
。.– pjpj

此解决方案不起作用
Argus

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

这对我有用。


4
提议的解决方案的更多细节将有所帮助
Dave M

1

使用jQuery

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

jQuery文档

调用不带参数的.off()会删除所有附加到元素的处理程序。通过提供事件名称,名称空间,选择器或处理程序功能名称的组合,可以删除元素上的特定事件处理程序。

因此,总而言之,$(window)它为我们提供了对包装在jQuery对象中的window对象的引用。这个包装器使我们可以访问该对象上的jQuery API(例如.off)。调用.off()并提供字符串beforeunload将删除以前正在监听beforeunload事件的所有事件监听器。

注意:在Google进行一些快速研究后,我确实使用了我发现的普通JS方法。但是,我无法在解决此问题的指定时间内使这些方法起作用。如果某人的非jQuery方法仍与跨浏览器兼容,请发表评论或发布其他答案。:)


我使用接受的答案失败,并且jQuery已在页面上可用。
wickdninja

2
如果您要解释如何使用它,并且最好是关于它的工作原理的话,这将是一个更好的答案。
斯科特,

0

因此,要从@wickdninja获得正常运行的命令,请先安装Chrome开发者工具。然后,您可以打开它,然后会看到“控制台”的选项卡。单击控制台选项卡。然后,要启用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 2014年

至少在FIrefox中,不允许Facebook运行javascript甚至无法实现OP的意图,因为页面只是不断地重新加载脚本而不执行它。
brokkr 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.