检测导致页面退出的原因

时间:2018-03-15 19:55:24

标签: javascript jquery onbeforeunload exit-intent

我知道(使用Jquery)你无法使用beforeUnload事件检测你的页面何时因任何原因而卸载

例如

$(window).on('beforeUnload' , function ( e ) {
            return "please dont leave";
});

是否可以检测到这是否是由页面外部的某些内容引起的,例如关闭标签/窗口或使用后退/前进按钮。

如果无法正常检测到这些事情的使用,是否可以确定地确定任何DOM元素上的任何事件都没有触发beforeUnload?

1 个答案:

答案 0 :(得分:0)

检测浏览器操作等外部操作并不容易 你可以做反过来。

示例 - 跟踪if是否为链接

 var el = null;
    $('a,.submit-button,.other-exit-buttons').click(function(e){
    el=e;
    });

$(window).on('beforeUnload' , function ( e ) {
            console.log(el);
            // do other stuff like log it
            return "please dont leave";
});

因此,您可以检查用户是否退出throw锚标记,或者您可以使用此方法跟踪“提交”按钮中的所有退出。例如。

映射您的主要退出事件,而不是所有网站,如果用户退出并且您的var仍为“null”,则您知道用户以其他方式退出。