我尝试在onbeforeunload
事件上调用这个确认函数,但是它没有被调用。我错过了什么?
我把这个叫做身体内部标签:
<body onbeforeunload="confirmation();">
我也试过:
<body onbeforeunload="return confirmation();">
代码:
function confirmation(){
var answer = confirm('You have unsaved changes!!');
if(answer == true)
{
alert('Bye Bye!!!');
}
else{
alert('You are staying');
return false;
}
}
2条答案
按热度按时间s4n0splo1#
这与
onbeforeunload
的工作原理完全不同,并且代码包含语法错误。5fjcxozz2#
当用户在你的页面上做了更改,而如果他离开页面,这些更改将不会被保存时,你试图要求用户确认。对吗?
如果是这样,那么似乎是可能的。在SO上尝试以下方法。开始写这个问题的答案,然后尝试关闭浏览器窗口。
我在Chrome 12、FF 4.0.1和IE 9中进行了测试。
所有3个浏览器都显示了一个弹出窗口。似乎它们都包含了一个自定义文本。Chrome显示了“最干净”的消息,这意味着一个只有自定义消息和2个按钮的弹出窗口。
在所有3个浏览器试图关闭浏览器以任何 * 正常 * 的方式触发一个弹出窗口,让用户选择,如果他可能不想留在页面上,完成他开始的事情。如果他不想离开,他可以。(杀死浏览器进程或计算机关机可能不会做你想thoug:))。
Internet浏览器:
火狐浏览器:
chrome :
我会尝试挂接一个函数,该函数向window.onbeforeunload事件返回一个字符串。