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

时间:2016-11-13 03:09:31

标签: javascript google-chrome

我正在Google Chrome中进行测试。

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

window.onbeforeunload = function() {
    if (hook) {
      return "Did you save your stuff?"
    }
  }

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

2 个答案:

答案 0 :(得分:21)

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

  

Custom messages in onbeforeunload dialogs (removed)

     

窗口的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

     

规范

     

Established standard

     

Chromium中的状态

     

删除(launch bug):

     
      
  • Chrome for desktop release 51
  •   
  • Chrome for Android第51版
  •   
  • Android WebView第51版
  •   
  • Opera release 38
  •   
  • Opera for Android第38版
  •   

答案 1 :(得分:0)

在我的Vue 2应用程序中,我可以使用:window.onbeforeunload = null;中的mounted(),并且在提交表单后无法打开弹出窗口。