我正在Google Chrome中进行测试。
我做了一些搜索,发现有人正在使用:
window.onbeforeunload = function() {
if (hook) {
return "Did you save your stuff?"
}
}
但是当我使用它时,我仍然得到“你所做的改变可能无法保存。”信息。如何将其更改为我想要的内容?
答案 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。
规范
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()
,并且在提交表单后无法打开弹出窗口。