我想在我的应用程序中捕获浏览器关闭事件并向用户显示一个确认框。我使用的是 JSF 2.0 和 Richfaces 4.0。
如何捕获浏览器关闭事件?
IT技术
javascript
jquery
events
browser
2021-02-20 12:46:59
4个回答
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;
}
};
使用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;
}
请记住,除了关闭窗口外,其他事件也会触发,例如重新加载和表单提交。
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>
将处理程序附加到unload
事件。