Sprachauswahl funktioniert nicht
Izi
- javascript
0 Izi0 EKKi0 Gunnar Bittersmann
Hallo Leute,
ich habe ein klitzekleines Problem, und zwar weiß ich nicht, warum dieses Script den Besucher nicht weiterleitet, ich hoffe ihr könnt mir sagen wo der Fehler steckt.
<script type='text/javascript'>
<!--
sprache = navigator.appName;
switch(sprache)
{
case "Microsoft Internet Explorer":
if(navigator.userLanguage.indexOf("de") > -1)
{
window.location.href = "./de/index.php";
}
elseif(navigator.userLanguage.indexOf("en") > -1)
{
window.location.href = "./en/index.php";
}
elseif(navigator.userLanguage.indexOf("fr") > -1)
{
window.location.href = "./fr/index.php";
}
elseif(navigator.userLanguage.indexOf("es") > -1)
{
window.location.href = "./es/index.php";
}
elseif(navigator.userLanguage.indexOf("pl") > -1)
{
window.location.href = "./pl/index.php";
}
else
{
window.location.href = "./de/index.php";
}
break;
case "Netscape":
if(navigator.language.indexOf("de") > -1)
{
window.location.href = "./de/index.php";
}
elseif(navigator.language.indexOf("en") > -1)
{
window.location.href = "./en/index.php";
}
elseif(navigator.language.indexOf("fr") > -1)
{
window.location.href = "./fr/index.php";
}
elseif(navigator.language.indexOf("es") > -1)
{
window.location.href = "./es/index.php";
}
elseif(navigator.language.indexOf("pl") > -1)
{
window.location.href = "./pl/index.php";
}
else(navigator.language.indexOf("de") > -1)
{
window.location.href = "./de/index.php";
}
break;
default:
window.location.href = "./sprachauswahl.php";
break;
}
//-->
</script>
Okey,
nachdem hier alles mit Farben markiert wurde, habe ich entdeckt, dass ich das elseif zusammengeschrieben ist, das war natürlich ein leichtsinniger Fehler. Richtig ist else if
Dennoch danke für die Aufmerksamkeit.
Sorry!
nachdem hier alles mit Farben markiert wurde, habe ich entdeckt, dass ich das elseif zusammengeschrieben ist, das war natürlich ein leichtsinniger Fehler. Richtig ist else if
Ich frag mich echt, wie manche Leute entwickeln. Benutzt ihr keine Debugger tools oder Syntaxhighlighting?
Posts wie deiner spammen leider nur das Forum voll.
Mfg!
Hi Christian,
Posts wie deiner spammen leider nur das Forum voll.
Ich möchte jetzt hier keine Flame-War starten, ich will dich
nur anregen nachzudenken ob deine Reaktion die Richtige war.
Wer eine frage stellt, der ist dumm für 5 Minuten. Nach
Beantwortung der Frage ist jeder klüger. Wer die Frage nicht
stellt, der bleibt der Dumme. Sowohl dem Fragenden, als
auch der Person die antwortet, wird die Möglichkeit gegeben
die Frage zu durchdenken, bevor man Antwort gibt.
Ich finde, zu HTML und Co ist hier in diesem Forum jede Frage
berechtigt.
gruesse aus'm ruhrpott
jens mueller
Mahlzeit Izi,
ich habe ein klitzekleines Problem,
Nein, Du hast ein viel größeres Problem (genauer gesagt sogar deren mehrere) als Du glaubst.
Zum einen machst Du offenbar die Sprachauswahl vom (angeblichen) Browser des Benutzers abhängig ... und zum anderen verlässt Du Dich darauf, dass der Benutzer auch Javascript in seinem Browser aktiviert hat bzw. benutzen darf - was passiert denn, wenn - aus welchen Gründen auch immer - kein JS-Code ausgeführt wird? Bekommt der Benutzer wenigstens einen normalen Link zur Sprachauswahl?
Dass Du Variablen ungünstig benennst, allgemein unsauber programmierst und die Syntax-Hervorhebung dieses Forums zum Debuggen benutzt, ist da schon fast nebensächlich.
MfG,
EKKi
@@Izi:
nuqneH
ich habe ein klitzekleines Problem,
Nein, ein großes: Du verwendest mit JavaScript die falsche Technik; die Sprachauswahl kann damit nicht wirklich funktionieren.
navigator.language
/navigator.userLanguage
gibt *nicht* die vom Nutzer bevorzugte(n) Sprache(n) an; diese steht/stehen im HTTP-Header-Feld Accept-Language
. Mit JavaScript ist da nichts zu machen.
Verwende eine serverseitige Technik: Apaches Sprachvereinbarung (language negotiation), PHP, …
Qapla'