Javascript-离开页面时进行确认

我正在尝试实现一个基本的弹出窗口,该窗口询问用户是否真的要离开该页面,类似于如果我尝试在编写此消息的一半时关闭该窗口,则会在该站点上发生什么.

我意识到这是一个普遍不赞成的事情,但是我有充分的理由要这样做.

我通过使用以下代码使其工作:

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();
        }
    }

但是,我真正想做的是在他们离开页面时显示消息,除非他们通过单击两个链接之一离开.

(我刚刚意识到这听起来像是我可能想强迫他们点击广告或其他东西!)

使用此功能的原因是在预订过程的最后,用户可以在确认之前确认预订或添加其他预订. (这是我不希望显示弹出消息的两种可能性,弹出消息中只会显示类似“您的预订尚未确认,您确定要离开吗?”之类的信息.).

反正有实现这一目标的方法吗?

任何建议表示赞赏.

谢谢.

解决方法:

在头:

<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();
    }
}
上一篇:Javascript表单提交打开新窗口选项卡,然后重定向父页面


下一篇:javascript-从弹出窗口重新加载特定框架