我添加了一个确认框,当用户刷新页面时,以及当用户尝试离开当前页面时,该确认框有效。但我希望它能够取消离开页面的操作。我不确定如何实现这一点。
我遇到的另一个问题是,此代码仅适用于EI,而不适用于Firefox或Chrome。通常它是相反的。但也许我应该将浏览器问题作为单独的帖子发布?
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Verify</title>
<script type="text/javascript">
function handleRequest() {
if(confirm('Sure you want to quit?')) {
// redirect or quit;
} else {
//Do not change page or quit
}
}
</script>
<body onunload="handleRequest()">
<p></p>
<p>Body content</p>
</body>
</html>
答案 0 :(得分:2)
使用onbeforeunload
:
window.onbeforeunload = function(e) {
return 'Dialog text here.';
};
它将打开对话框并要求用户停留或离开页面。这是本机浏览器行为。
答案 1 :(得分:1)
您只能使用onbeforeunload取消它,并将false返回到事件:
<body onbeforeunload="return confirm('Sure you want to quit?');">