7 Stimmen

Erkennen, ob der Benutzer die Website verlassen wird wie Bounce Exchange

Bounce Exchange hat eine nahezu perfekte Methode entwickelt, um festzustellen, ob ein Benutzer die Website verlassen wird. Dies geschieht auf der Grundlage der Verfolgung von Mausgesten, Mausgeschwindigkeit und dem Verlassen der Browserebene. Wenn sie feststellen, dass jemand geht, lösen sie ein Popup in einem Lightbox aus.

Ich kann dies schlecht nachahmen, indem ich folgendes mache:

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

Das einzige Problem dabei ist, dass dies ziemlich nervig ist. Selbst wenn es jemanden erfasst, wird es jedes Mal ausgelöst, wenn sie den Körper verlassen.

Wie wahrscheinlich wäre es, die Mausgeschwindigkeit mit einzubeziehen und das Ereignis nur einmal auszulösen? Ich bin immer noch ziemlich neu in JavaScript und jQuery, aber ich lerne.

9voto

Aaron Adams Punkte 1599

Dafür ist .one() genau richtig:

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

3voto

Vlad Punkte 2413

Sie können Ihrer Code ein Flag hinzufügen:

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

Das Erstellen eines Flags stellt sicher, dass der show() Code nicht ein zweites Mal aufgerufen wird.

2voto

Sidhannowe Punkte 455

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X