为什么确认弹出窗口不显示我为它定义的消息?
问题描述:
这里是我的代码:为什么确认弹出窗口不显示我为它定义的消息?
window.onbeforeunload = function(evt) {
var el = document.getElementById("qandatextarea");
if(el && el.value && !DontAskBeforeExit){
var message='ding ding';
return message;
}
}
但它显示了这个弹出:
为什么?我从来没有告诉过它这条消息:
您所做的更改可能不会保存。
那么它来自哪里呢?为什么它不显示我为它定义的消息? (dib ding
)
这样的结果也是一样的上述之一:
window.onbeforeunload = function(evt) {
var el = document.getElementById("qandatextarea");
if(el && el.value && !DontAskBeforeExit){
var message = 'ding ding';
if (typeof evt == 'undefined') {
evt = window.event;
}
if (evt) {
evt.returnValue = message;
}
return message;
}
}
答
此功能已被从几个主要的浏览器中移除。请参阅the compatibility section on MDN。请注意,“删除了自定义文本支持”部分。 Chrome 51和FF 44已经删除了自定义文本的功能。
https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload快速浏览一下有一些警告/注释。值得注意的是:'当这个事件返回一个未定义的值时,提示用户确认页面卸载。在大多数浏览器中,事件的返回值显示在此对话框中。在Firefox 4及更高版本中,返回的字符串不会显示给用户。相反,Firefox会显示字符串“此页面要求您确认您要离开 - 您输入的数据可能无法保存。” – httpNick