如何禁用“您所做的更改可能无法保存”。对话框(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)?的主要内容,如果未能解决你的问题,请参考以下文章

如何动态启用\禁用对话框视图

如何禁用/启用对话框负正按钮?

如何禁用对话框“切换到”-“重试”-“取消”

如何禁用 Firefox 中的“离开页面”确认对话框?

如何禁用调试断言对话框 Visual Studio 或输出 exe

如何在MSI Installshield重新启动管理器对话框中禁用“不关闭应用程序”选项