如何自定义消息"您所做的更改可能无法保存".for window.onbeforeunload?

AGa*_*yer 9 javascript google-chrome

我正在Google Chrome中测试.

我做了一些搜索,发现有人正在使用:

window.onbeforeunload = function() {
    if (hook) {
      return "Did you save your stuff?"
    }
  }
Run Code Online (Sandbox Code Playgroud)

但是当我使用它时,我仍然得到"你所做的改变可能无法保存." 信息.如何将其更改为我想要的内容?

Ale*_*ara 23

你不能,在Chrome 51中删除了这样做的能力.它被广泛认为是一个安全问题,并且大多数供应商已经取消了支持.

onbeforeunload对话框中的自定义消息(已删除):

窗口的onbeforeunload属性可以设置为返回字符串的函数.如果函数返回一个字符串,那么在卸载页面之前,会显示一个对话框,让用户确认他们确实想要离开.该函数提供的字符串将不再显示在对话框中.相反,将显示不受网页控制的通用字符串.

评论

这是Safari 9.1中提供的,自Firefox 4以来一直在Firefox中发布.Safari认为这是一个安全修复程序,并将其分配给CVE-2009-2197(请参阅https://support.apple.com/en-us/HT206171).已获批准https://groups.google.com/a/chromium.org/d/msg/blink-dev/YIH8CoYVGSg/Di7TsljXDQAJ.

规格

建立标准

Chromium中的状态

删除(启动错误):

  • 适用于桌面版的Chrome 51
  • Chrome for Android版本51
  • Android WebView发布51
  • 歌剧发布38
  • 适用于Android的Opera版本38

  • 只是想知道,如果无法自定义它,我可以简单地使用: `window.onbeforeunload = function(e) {};` 和 `window.onbeforeunload = null;` 来激活/停用它吗? (2认同)
  • @AwQiruiGuo 是的,您仍然可以通过删除以前的事件处理程序来禁用它。 (2认同)