Javascript 在离开页面之前保存用户电子邮件

Javascript 在离开页面之前保存用户电子邮件,javascript,php,jquery,Javascript,Php,Jquery,在我网站的购物车页面上,我必须拦截离开页面的用户,并询问他们是否希望通过电子邮件保存购物车 我想我必须使用事件“beforeunload”拦截离开页面的用户,但我有两个问题: 如何从“beforeunload”触发器中排除单击链接继续付款 如何提示一个小表单,在那里我可以请求他的电子邮件(稍后使用),然后继续卸载页面 你唯一能做的就是显示一个默认的浏览器消息框 window.onbeforeunload = foo; function foo(e) { if (!e) e =

在我网站的购物车页面上,我必须拦截离开页面的用户,并询问他们是否希望通过电子邮件保存购物车

我想我必须使用事件“beforeunload”拦截离开页面的用户,但我有两个问题:

  • 如何从“beforeunload”触发器中排除单击链接继续付款

  • 如何提示一个小表单,在那里我可以请求他的电子邮件(稍后使用),然后继续卸载页面


你唯一能做的就是显示一个默认的浏览器消息框

window.onbeforeunload = foo;

function foo(e) {
        if (!e) e = window.event;
        //e.cancelBubble is supported by IE - this will kill the bubbling process.
        e.cancelBubble = true;
        e.returnValue = 'You sure you want to leave?'; //This is displayed on the dialog

        //e.stopPropagation works in Firefox.
        if (e.stopPropagation) {
            e.stopPropagation();
            e.preventDefault();
        }
}

要在链接上排除以继续付款,您可以执行以下操作:-

window.onbeforeunload = function() {
    return "You're leaving the site.";
};
$(document).ready(function() {
    $('a[rel!=ext]').click(function() { window.onbeforeunload = null; });
    $('form').submit(function() { window.onbeforeunload = null; });
});

我刚开始考虑这个问题,所以我现在没有有趣的代码可以提交。你有没有检查过其他人(magento、oxid、shopware)是如何做到这一点的?