2013-04-15 7 views
7

Bounce Exchange hat eine fast perfekte Möglichkeit gefunden, zu erkennen, ob ein Benutzer die Website verlassen wird. Sie tun dies basierend auf dem Verfolgen von Mausgesten, der Mausgeschwindigkeit und dem Brechen der Browserebene. Wenn sie feststellen, dass jemand geht, feuern sie ein Popup in einem Leuchtkasten ab.Erkennen, ob Benutzer Website wie Bounce Exchange verlassen

ich das schlecht emulieren kann, die durch die folgende:

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

Das einzige Problem ist das ziemlich ärgerlich. Selbst wenn es jemanden einfängt, feuert es in dem Moment, in dem es den Körper verlässt, erneut.

Wie wahrscheinlich wäre es, die Mausgeschwindigkeit zu berücksichtigen und das Ereignis nur einmal auslösen zu lassen? Ich bin noch ziemlich neu in JavaScript und jQuery, aber ich lerne.

+0

nur bounceexchange.com meiner adblock Liste hinzugefügt;) –

Antwort

3

Sie können eine Flagge, um Ihren Code hinzufügen:

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

ein Flag Erstellen wird der show() Code stellen Sie sicher, nicht zum zweiten Mal aufgerufen werden.

+0

Vlad, Können Sie bitte ziehe ein Beispiel an Geige wird wirklich hilfreich für mich und mehr Leute auf der Suche nach so etwas. – Vicky

9

Dies ist genau das, was .one() für ist:

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

Oder Sie können versuchen OuiBounce, die Bounce-Austausch Alternative: https://github.com/carlsednaoui/bounce-exchange-alternative

+0

DANKE !!!!!!!!!!!!!! Ich habe immer nach einer freien Alternative gegoogelt. Ich sollte dir 100 Upvotes geben. – Tallboy

+0

ouiBounce ist eine gute Alternative, funktioniert aber leider nicht gut. Wenn Sie oben kleine Dinge haben, wird das Pop-up ausgelöst. Es sollte die Geschwindigkeit der Maus berücksichtigen. –

Verwandte Themen