webForumDet fria alternativet

visa olika sidor beroende på webbläsarens språk

JavaScript

1 svar · 386 visningar · startad av kolas

Medlem sedan mars 2001142 inlägg
Frågan#1

Jag använder följande kod för att slussa besökaren till olika sidor beroende på webbläsarens språk och det fungerar så långt att jag kommer till den svenska sidan i alla webbläsare.
Men i IE och FF så kan jag inte ändra språk och testa om det kommer rätt ifall jag t ex sätter webbäsarens språk på nb-[NO]. Däremot fungerar det hur bra som helst att ändra i Opera, där jag kan testa alla språk.

Hur ska jag kunna kontrollera de övriga språken när det hela tiden är den svenska sidan som visas i IE & FF?
Tar inte navigator.browserLanguage & navigator.Language webbläsarens språk?

<SCRIPT LANGUAGE="JavaScript1.2">

if (navigator.appName == 'Netscape')
var language = navigator.language;
else
var language = navigator.browserLanguage;

if (language.indexOf('en') > -1) document.location.href = 'http://www.sidan.com/?edition=en';
else if (language.indexOf('no') > -1) document.location.href = 'http://www.sidan.com/?edition=norsk';
else if (language.indexOf('nn-NO') > -1) document.location.href = 'http://www.sidan.com/?edition=norsk';
else if (language.indexOf('nb-NO') > -1) document.location.href = 'http://www.sidan.com/?edition=norsk';
else if (language.indexOf('nb') > -1) document.location.href = 'http://www.sidan.com/?edition=norsk';
else if (language.indexOf('nn') > -1) document.location.href = 'http://www.sidan.com/?edition=norsk';
else if (language.indexOf('sv') > -1) document.location.href = 'http://www.sidan.com/?edition=svenska';
else if (language.indexOf('sv-SE') > -1) document.location.href = 'http://www.sidan.com/?edition=svenska';

else 

document.write("Du måste välja språk manuellt");
</script>
Medlem sedan feb. 2007278 inlägg
#2

Hej

1. Din kod med browsersniffning är föråldrad. Googla "capability testing" och "object detection" ihop med ordet JavaScript.

2. Problemet löses mycket hellre server-side, exempelvis med PHP eller en konfigurationsinställning i Apache eller IIS. Då slipper du en onödig och tidskrävande redirect.

261 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)