检测用户是否会离开Bounce Exchange等网站

时间:2013-04-15 21:55:36

标签: javascript jquery

Bounce Exchange已经找到了一种几乎完美的方式来检测用户是否会离开网站。他们基于跟踪鼠标手势,鼠标速度和浏览器平面的破坏来实现此目的。如果他们发现某人正在离开,他们会在灯箱上弹出一个弹出窗口。

我可以通过以下方式很难效仿:

$("body").mouseleave(function() {
    jQuery('#avoid-bounce').show();
});

唯一的问题是这很烦人。即使它捕获了某人,他们离开身体的那一刻也会再次发射。

考虑鼠标速度并允许事件仅触发一次是多么可能?我仍然是JavaScript和jQuery的新手,但我正在学习。

3 个答案:

答案 0 :(得分:9)

这正是.one()的用途:

$("body").one('mouseleave', function() {
    jQuery('#avoid-bounce').show();
});

答案 1 :(得分:3)

您可以在代码中添加标记:

$("body").mouseleave(function() {
    if ( jQuery('#avoid-bounce').data('shown') != true ) {
        jQuery('#avoid-bounce').data('shown', true).show();
    }
});

创建标志将确保第二次不会调用show()代码。

答案 2 :(得分:2)

或者您可以尝试OuiBounce,即反弹交换选项:https://github.com/carlsednaoui/bounce-exchange-alternative