我正在尝试实现一个基本的弹出窗口,询问用户是否真的想要离开页面,类似于我在这个网站上发生的情况,如果我试图在写这条消息的一半时关闭窗口。
我意识到这通常是不赞成的,但我有充分的理由想要这样做。
我使用以下代码使其工作:
function confirm_exit(e) {
if(!e) e = window.event;
e.cancelBubble = true;
e.returnValue = 'Are you sure you want to leave?';
if (e.stopPropagation) {
e.stopPropagation();
e.preventDefault();
}
}
但是,我真正想做的是在他们离开页面时显示消息,除非他们通过点击两个链接之一离开。
(我刚刚意识到,听起来我可能想强迫他们点击广告或其他东西!)
使用此功能的原因是在预订过程结束时,用户可以在确认之前确认预订或添加更多预订。 (这些是我不喜欢弹出消息显示的两种可能性,弹出窗口中的消息只会说“您的预订尚未确认,您确定要离开吗?”。
无论如何要实现这个目标吗?
任何建议表示赞赏。
感谢。
答案 0 :(得分:2)
在头部:
<head>
...
<script type="text/javascript">
var disabledConfirm_exit=false;
</script>
</head>
在允许离开的两个链接中,您可以添加
onclick="disabledConfirm_exit=true;"
在confirm_exit里面
function confirm_exit(e) {
if(disabledConfirm_exit) return;
if(!e) e = window.event;
e.cancelBubble = true;
e.returnValue = 'Are you sure you want to leave?';
if (e.stopPropagation) {
e.stopPropagation();
e.preventDefault();
}
}
答案 1 :(得分:2)
window .unload函数将帮助我们在关闭浏览器或重定向到任何其他页面时执行一些javascript。资源:http://api.jquery.com/unload/