2017-07-20 13 views
1

Ich bin wirklich neu in Javascript, ich habe experimentiert und ich habe auch genossen.Wie kann ich umleiten basierend auf Referrer

Ich möchte versuchen, Leute auf diese Seite umzuleiten, wenn sie nicht von diesem Referrer stammen und nicht weiterleiten, wenn sie es waren.

Aber ich habe ein Problem, das Problem ist der Referrer-Link ÄNDERUNGEN DYNAMICALLY, also kann ich Javascript nur überprüfen, ob es von diesem Hauptlink war und andere Teile ignorieren.

Zum Beispiel.

Ich möchte, dass sie im Allgemeinen von google.com kommen. Aber der einzige Weg, wie Google sie auf meine Website verweisen kann, ist über einen dynamischen Link, sagen google.com/323asda2 und dieser Code ändert sich jedes Mal, wenn auf den Link zugegriffen wird.

Gerade jetzt hier ist mein Code:

<script> 
if (document.referrer !== "/^https?:\/\/([^\/]+\.)?google\.com(\/|$)/i") 
{ 
    alert("** This is a message from the website administration ** \n\n In order for this site to be safe we use bot checker captchas. You will be redirected to our captcha page and you'll be able to access the website after filling that in.") 
    window.location.href = "http://websitename.com";  
} 
</script> 

Und wenn sie die Seite von Google zuzugreifen versuchen, geht die Schleife weiter und weiter, weil die Verbindung (später Teil; google.com/323asda2> 323asda2) Änderungen dynamisch.

Grundsätzlich mag ich das Skript nur für die Hauptverbindung zu überprüfen, nicht andere Teile davon

Ich hoffe, dass Sie meine Frage verstanden und ich hoffe, dass Sie mir helfen können!

+0

Java und Javascript sind völlig verschiedene Sprachen. Kennzeichnen Sie keine JavaScript-Frage mit Java (im besten Fall hat dies keine Auswirkungen, im schlimmsten Fall erhalten Sie negative Kommentare/Downvotes). Ich habe dieses Java-Tag für Sie entfernt. –

+0

Ja, tut mir auch leid, wie gesagt, ich war neu in dieser ganzen Sache. :) –

+0

Anstatt zu versuchen, den gesamten Verweis zuzuordnen, speichern Sie ihn innerhalb einer Variablen und überprüfen Sie, ob der String die URL enthält: 'var ref = document.referrer; if (ref.search (/^https?: \/\/([^ \ /] + \.)? google \ .com (\/| $)/i)) {// Hier warnen}} – icecub

Antwort

0

Anstatt zu versuchen, die gesamte Referrer zu entsprechen, ist es in einer Variablen speichern und überprüfen, ob die Zeichenfolge, die die URL enthält:

var ref = document.referrer; 

if(ref.search(/^https?:\/\/([^\/]+\.)?google\.com(\/|$)/i)){ 
    // alert here 
} 
Verwandte Themen