2017-09-26 1 views
1

Ich habe dieses jQuery-Skript, das den Benutzer warnt, wenn er auf eine Website eines Drittanbieters wechselt. Funktioniert gut, wenn Sie nur darauf klicken, aber wenn der Benutzer Strg + Klicken oder Rechtsklick> Neuer Tab öffnet, wird die Warnmeldung nicht angezeigt. Wie kann ich diesen Code ändern, damit die Benachrichtigung unabhängig davon angezeigt wird, wie der Benutzer auf den Link klickt/öffnet?Benachrichtigung über die Website verlassen

// notification when exiting to third party website 
jQuery('a').filter(function() { 
    return this.hostname && this.hostname !== location.hostname; 
}).click(function(e) { 
if(!confirm("You are now leaving....")) 
    { 
     // return back to page on no. 
     e.preventDefault(); 
    }; 
}); 

Dies ist eine Verordnung Credit Union, also bin ich nicht ein butthead dafür.

+1

, dass eine ziemlich mühsame Sache, um Ihre Besucher zu tun. – ceejayoz

+1

Ich oft Strg + klicken, um diese Warnung zu umgehen. Bessere Weiterleitung zu einer gemeinsamen Seite und Weiterleitung von dort (wie Facebook tut) –

+0

Ausgezeichnete Eingabe. Es ist eine Verordnungspflicht für Kreditgenossenschaften, also nicht meine Wahl. – xxdash

Antwort

1

Der Rechtsklick, der das Kontextmenü ist, ist eine Browserfunktion. Sie müssen es entweder komplett deaktivieren oder ein eigenes Kontextmenü mit HTML erstellen.

Hier ist eine Antwort auf das Problem von ctrl + klicken.

Wenn die Taste gedrückt wird, und wenn es die Strg-Taste ist, fügen Sie einfach e.preventDefault()

$(document).keydown(function (e) { 
 
    if(e.which==17) 
 
     e.preventDefault(); 
 
}); 
 

 

 
jQuery('a').filter(function() { 
 
    return this.hostname && this.hostname !== location.hostname; 
 
}).click(function(e) { 
 
if(!confirm("You are now leaving....")) 
 
    { 
 
     e.preventDefault(); 
 
    }; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a href="https://www.google.com">G</a>

+0

Danke! Klappt wunderbar. – xxdash

Verwandte Themen