如何禁用“您所做的更改可能无法保存”。对话框(Chrome)?
Posted
技术标签:
【中文标题】如何禁用“您所做的更改可能无法保存”。对话框(Chrome)?【英文标题】:How to disable "Changes you made may not be saved." dialog box (Chrome)? 【发布时间】:2017-04-24 07:08:04 【问题描述】:已经回答了一个类似的问题 (Disable "Changes you made may not be saved" pop-up window),但不知何故这对我仍然不起作用。
我正在尝试在表单输入更改时禁用Changes you made may not be saved.
对话框。我知道 Chrome 已经删除了自定义消息功能,但我很难完全禁用该框。我在一些 html 代码的底部有以下 javascript:
window.onbeforeunload = function()
;
window.onbeforeunload = null;
这两个都不适合我。当我在检查器控制台中输入window.onbeforeunload
时,我得到一个null
返回值。 window.onbeforeunload = null;
可以在页面生命周期内的任何地方调用吗?也许我把它放错地方了?
【问题讨论】:
某事可能会以“正确”的方式添加事件侦听器,即window.addEventListener('beforeunload', ...)
- 但如果这是您的代码,您就会知道
如果你的页面使用 jQuery,你可能会很幸运,$(window).off('beforeunload');
可能对你有用 - 因为你没有分享你使用的库等,这是一个在黑暗中拍摄
@JaromandaX,这行得通,谢谢!哎呀。我想知道为什么会这样?如果您想发布答案,我会接受。
在我添加作为答案之前,了解您正在使用哪些 JS 库(显然 jQuery 就是其中之一)会很有用,还有什么其他的?可能是一些 helpful jQuery 插件/插件正在添加 helpful" 事件处理程序:p
您只需要使用与最初添加处理程序时使用的任何功能相反的方法。如果您使用.on()
,则使用.off
将其删除。如果您使用.addEventListener
,则使用.removeEventListener
。如果你使用window.onbeforeunload = function
,你使用window.onbeforeunload = null
【参考方案1】:
如果您使用的是 jQuery,那么下面的代码将为您工作
$(window).off('beforeunload');
【讨论】:
以上是关于如何禁用“您所做的更改可能无法保存”。对话框(Chrome)?的主要内容,如果未能解决你的问题,请参考以下文章