2013-10-08 9 views
5

Was ich versuche, ist die Umleitung von Ländern, basierend auf Ländercode mit dem unten stehenden Skript. Der folgende Code funktioniert nicht. Bei einigen Nachforschungen habe ich festgestellt, dass ich eine oder eine Aussage verwenden muss oder zumindest das ist, was ich denke, dass ich brauche, aber meine Frage ist da ein einfacherer Weg als eine Aussage? Wie Sie sehen können, gibt es viele Länder, nach denen ich suche.Alternative zu OR-Anweisung

<script language="JavaScript" src="http://j.maxmind.com/app/geoip.js"></script> 
<script language="JavaScript"> 

var country= geoip_country_code(); 

if(country = "UK","CA","DE","DK","FR","AU","SE","CH","NL","IT","BE","AT","ES","NO","IE","FI","GB","US")  
{ 
window.location.href='http://www.google.com'; 
} 
else 
{ 
window.location.href='http://www.yahoo.com'; 
} 
</script> 
+0

@ JonathonReinhart Es ist trivial, serverseitig zu umgehen. – Brad

+2

danke für deinen Kommentar, aber das wird gut genug für das, was ich brauche. – user2716614

+0

@ JonathonReinhart Der Punkt ist, dass Sicherheit hier sowieso keine Rolle spielen kann. Kein Region-Locking durch IP-Adresse ist über den durchschnittlichen Benutzer hinaus wirksam. Außerdem leitet er gerade um. – Brad

Antwort

12

sollten Sie in der Lage sein, es so zu tun:

var countryCodes = ["UK","CA","DE","DK","FR","AU","SE","CH","NL","IT","BE","AT","ES","NO","IE","FI","GB","US"]; 
var country= geoip_country_code(); 
if (countryCodes.indexOf(country) !== -1) 
{ 
    ... 
} 
+0

danke für deine antwort, ich werde es jetzt ausprobieren danke ... – user2716614

+0

@Brad Guter Punkt, ich hätte '! ==' da. –

+1

@ BenS.-ob '! =' Oder '! ==' verwendet wird, ist irrelevant, ich würde vorschlagen, dass '! =' Bevorzugt wird, da es keinen Grund gibt, '! ==' zu verwenden. – RobG

0

Sie können wie etwas tun:

var country = 'US'; 
var countries = 'UK CA DE DK FR AU SE CH NL IT BE AT ES NO IE FI GB US'; 

if (countries.match(country.toUpperCase())) { 
    // matched 
} else { 
    // no match 
} 

Aber es ist sehr einfach für den Client seine Herkunft zu fälschen.