【发布时间】:2011-10-01 03:15:59
【问题描述】:
我想在我的应用程序中捕获浏览器关闭事件并向用户显示一个确认框。 我正在使用 JSF 2.0 和 Richfaces 4.0。
【问题讨论】:
标签: javascript jquery events browser
我想在我的应用程序中捕获浏览器关闭事件并向用户显示一个确认框。 我正在使用 JSF 2.0 和 Richfaces 4.0。
【问题讨论】:
标签: javascript jquery events browser
将处理程序附加到unload 事件。
【讨论】:
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>
【讨论】:
beforeunload 事件旨在返回 string。 Docs.
使用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;
}
请记住,除了关闭窗口之外的其他事件(例如重新加载和表单提交)也会触发此事件。
【讨论】:
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;
}
};
【讨论】: