Michael: Browser-Weiterleitung in Opera

Hallo,

Ich wollte eine kleine Weiterleitung in meine Homepage einbauen, die die Sprache abfragt und dann je nach Ergebnis auf eine Seite weiterleitet. Leider funktioniert dieses Script im Opera nicht. Im IE und FF funzt es. Was hab ich falsch gemacht?

<script type="text/javascript">

if (navigator.language){

if (navigator.language.indexOf("de") != -1)
{
window.location.href="home-de.html";
}
else {window.location.href="home-en.html";}

}

else if (navigator.userLanguage){

if (navigator.userLanguage.indexOf("de") != -1)
{
window.location.href="home-de.html";
}
else {window.location.href="home-en.html";}

}

</script>

Vielen Dank im Voraus

  1. Hallo,

    einfach mal nachfragen

    alert("typeof navigator.language: "+ typeof navigator.language +"\nWert: "+navigator.language);

    entsprechend für navigator.userLanguage

    Gruß plan_B

    1. Das Problem war, dass noch keine home-de.html bzw. home-en.html vorhanden war. Ich wollte das ganze ja nur mal ausprobieren. Jedenfalls kommt Opera damit nicht klar. Die anderen Browser geben eine Meldung "Datei nicht gefunden" aus.

      1. Hallo,
        Bei Opera "automatische Weiterleitung" zugelassen?
        Bzw. JavaScript ausgeschalten?

        MfG

  2. Hi,

    Ich wollte eine kleine Weiterleitung in meine Homepage einbauen, die die Sprache abfragt und dann je nach Ergebnis auf eine Seite weiterleitet.

    und woher willst Du wissen, dass die Sprache des Browsers diejenige ist, in der der Benutzer die Seite lesen will? Auch Deutsche können eine neue US-Version nutzen oder die Spracheinstellung des UA kann in einer übersetzten Version nicht geändert worden sein. Oder ein Tourist aus den Staaten nutzt einen deutschen Browser im Internet-Café. Und schließlich kann es auch Besucher geben, die bewußt eine andere Sprache lesen wollen als die gerade im Browser eingestellte.

    Freundliche Grüße
    Ingo

    1. @Ingo

      Dieses Script soll ja nur so eine Art Vorauswahl treffen. Der User kann die Sprache auch nachher noch ändern.