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

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

有没有办法禁用您确定要离开此页面吗?网站上的消息?我正在使用 Chrome。

答案1

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

有一个可从 about.com 获取用户脚本阻止这些事件。

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

安装用户脚本时要小心,它们可能会做你不想要的事情。仅安装来自可信来源的用户脚本。

答案2

使用 jQuery

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

来自jQuery 文档

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

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

注意:我确实尝试了在 Google 上快速搜索后找到的原始 JS 方法。但是,我无法在规定的时间内让这些方法发挥作用以解决这个问题。如果有人有非 jQuery 方法,但仍兼容跨浏览器,请发表评论或发布其他答案。:)

答案3

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

这对我有用。

答案4

因此,要使 @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

希望这可以帮助。

相关内容