Spracherkennung & Weiterleitung- abhängig vom Browser
holger
- javascript
0 Dirk0 Onkel0 Sven Rautenberg
Ich habe ein Skript gebaut, daß den Besucher - je nach Browsersprache - automatisch auf die deutsche oder englische Version leiten soll.
Ich gehe wie folgt vor:
Das Skript funktioniert mit Opera (engl.) einwandfrei. Bei IE (Vers. 5 & 6) wird aber ein Skriptfehler gemeldet. Warum?
Ich habe mir schon ziemlich dem Kopf zerbrochen, komme aber selbst nich drauf.
Danke für Eure Hilfe!
Quelltext:
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<title>Test</title>
</head>
<body>
<!--Das folgende Skript soll je nach Browser Sprache einen anderen Text laden. IE und Mozilla haben dafür andere Befehle, weshalb man eine Fallunterscheidung machen muß.-->
<script type="text/javascript">
<!--
if(navigator.appName != "MS Internet Explorer" )
/*Das sind die Anweisungen für Mozilla*/
{
if(navigator.language.indexOf("en")>-1)
/*Wenn en Menüsprache, dann Engl. VErsion*/
document.location.href="home_english.html" ;
/*Wenn de Menüsprache, dann dt. VErsion*/
if(navigator.language.indexOf("de")>-1)
document.location.href="home_deutsch.html" ;
}
/*Das sind die Anweisungen für IE*/
if(navigator.appName == "MS Internet Explorer" )
{
if(navigator.userLanguage.indexOf("en")>-1)
/*Wenn en Menüsprache, dann Engl. VErsion*/
document.location.href="home_english.html" ;
if(navigator.userLanguage.indexOf("de")>-1)
/*Wenn de Menüsprache, dann dt. VErsion*/
document.location.href="home_deutsch.html" ;
}
//-->
</script>
<noscript>
<a href="home_english.html">English Version</a>
<a href="home_deutsch.html">Deutsche Version</a>
</noscript>
<p></p>
Test: automatische Sparchumschaltung!
</body>
</html>
ersetze MS Internet Explorer durch "Microsoft Internet Explorer" und du wirst wahnsinnige Erfolge feiern!
hi holger
Das Ergebnis von appName für IE ist "Microsoft..." und nicht "MS..". Er springt immer in den ersten Zweig und zeigt dann, weil language nicht bekannt ist, den Scriptfehler.
abba haste doch schon selbst entdeckt?!
Dein Onkel
Ich habe ein Skript gebaut, daß den Besucher - je nach Browsersprache - automatisch auf die deutsche oder englische Version leiten soll.
Diese Idee ist schlecht. Ich habe einen englischen Opera installiert (ich bevorzuge die englischen Versionen, weil ich einmal damit angefangen habe, sie zu benutzen, und die Einstellungen am besten kenne), ich würde aber doch lieber deutsche Seiten sehen, wenn vorhanden.
Dazu habe ich Opera sogar entsprechend eingestellt: Er sagt dem Server, daß deutsche Seiten bevorzugt werden, und erst danach englische. Diese Information kannst du mit Javascript allerdings nicht abfragen, dazu müßtest du schon den Server entsprechend ausnutzen.
- Sven Rautenberg
dazu müßtest du schon den Server entsprechend
ausnutzen.
Diese Idee ist schlecht. Ich habe einen englischen Opera installiert (ich bevorzuge die englischen Versionen, weil ich einmal damit angefangen habe, sie zu benutzen, und die Einstellungen am besten kenne), ich würde aber doch lieber deutsche Seiten sehen, wenn vorhanden.
Dazu habe ich Opera sogar entsprechend eingestellt: Er sagt dem Server, daß deutsche Seiten bevorzugt werden, und erst danach englische. Diese Information kannst du mit Javascript allerdings nicht abfragen, dazu müßtest du schon den Server entsprechend ausnutzen.
OK, Du natürlich hast recht. Habe selber die engl. Opera Version.
Aber ich kann ja mit JavaScript nicht auf die bevorzugte Benutzersprache zugreifen, oder etwa doch???