我想在我的应用程序中捕获浏览器关闭事件并向用户显示一个确认框。 我正在使用JSF 2.0和richfaces 4.0。
答案 0 :(得分:17)
window.onbeforeunload = function ()
{
var shallIAlertUser = Do_Whatever(); //get boolen value
if (shallIAlertUser) {
//this will alert user
return 'Are you sure?';
}
else {
//this wont
window.onbeforeunload = undefined;
}
};
答案 1 :(得分:6)
使用beforeunload
事件。
window.onbeforeunload = function(event) {
event = event || window.event;
var confirmClose = 'Are you sure?';
// For IE and Firefox prior to version 4
if (event) {
event.returnValue = confirmClose;
}
// For Safari
return confirmClose;
}
请记住,除了关闭窗口之外,其他事件也会触发,例如重新加载和表单提交。
答案 2 :(得分:5)
onbeforeunload
< body onbeforeunload="alert('Closing');">
示例:
<html>
<head>
<title>`onbeforeunload` Event Demo</title>
</head>
<body onbeforeunload="return 'Are you sure you want to exit ?';">
</body>
</html>
答案 3 :(得分:1)
将处理程序附加到unload
事件。