Izi: Sprachauswahl funktioniert nicht

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>  

  1. 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!

    1. 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!

      1. 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

        --
        As long as a single mind remembers, as long as a single heart
        beats with passion, how can a dream die?
        \//_ Live long and prosper
        sh:( fo:) ch:| rl:° br:^ n4:| ie:% mo:| va:} de:> zu:) fl:( ss:) ls:> js:|
  2. 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

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
  3. @@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'

    --
    Volumen einer Pizza mit Radius z und Dicke a: pi z z a