[Javascript] Problemen met getlanguage()

Pagina: 1
Acties:
  • 38 views sinds 30-01-2008

  • Leftblank
  • Registratie: Juni 2004
  • Laatst online: 15:27
Beste tweakers,

Ik zit met 'n probleempje voor de code van de header van m'n forum (InvisionBoard 2.0.0, deze laat het niet toe om php te parsen in de header; ik ben dus "gebonden" aan JavaScript, een iFrame is niet handig met eventuele AdSense reclame). Ik wil namelijk voor elke taal (met Nederlands en *niet-Nederlands* als "groepen" voor nu) twee verschillende logo's weergeven (en later waarschijnlijk ad's; Nederlandse banners zullen geen clicks krijgen van mensen die geen Nederlands spreken).
Één layer (althans, dat is de manier die mij het makkelijkst lijkt) voor mensen met Nederlandse taalinstellingen in hun browser (evt OS, dat maakt op zich niet veel uit voor het geheel) en één voor alle andere talen.
Ik ben zelf op zoek geweest op Google naar 'n tutorial/code snippit hiervoor maar ik heb vrijwel niks gevonden dat direct aansloot op mijn wensen; het checken van de browser op taal bij het laden van de page (...en niet pas na een redirect naar een andere pagina zoals wel te zien is) en "kiezen" welke text er moet worden weergegeven.

Het directe probleem nu: het script lijkt niks te doen; er word geen keuze gemaakt tussen de layers (of een van deze word niet zichtbaar gemaakt)
Hierbij de code: (Ik vrees dat er veel fouten in zitten)
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<head>
<SCRIPT language="javascript">
<!-- function getlanguage(){
language=navigator.browserLanguage;
if(language){language=language.substring(0,2);}
else{language="z";}
switch (language){
    case "nl" :
      MM_showHideLayers('Layer1','','show');
      break;
   default :
 MM_showHideLayers('Layer2','','show');
} -->
</script>
</head>

<BODY onLoad="getlanguage()">
<div id="Layer1" style="position:absolute; left:22px; top:181px; width:100; height:50; z-index:2; background-color: #FFFF00; layer-background-color: #FFFF00; border: 1px none #000000; visibility: hidden;"><font color="#FF0000">Layer1</font></div>
<div id="Layer2" style="position:absolute; left:22px; top:81px; width:100px; height:50; z-index:1; background-color: #FF0099; layer-background-color: #FF0099; border: 1px none #000000; visibility: hidden;">Layer2</div>
</BODY>


Alvast erg bedankt voor jullie reactie!

[ Voor 10% gewijzigd door Leftblank op 01-05-2005 21:54 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Zie P&W FAQ - HTML / javascript /css, etc.... Javascript is clientside, en dat hoort bij de buren in Webdesign & Graphics.

PW>>WG

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • André
  • Registratie: Maart 2002
  • Laatst online: 06-05 11:13

André

Analytics dude

Wat gaat er nu precies fout dan?

Werkt het zo wel?
code:
1
2
3
4
5
6
7
switch (language)
{
  case "nl" :
    MM_showHideLayers('Layer1','','show');
  break;
  MM_showHideLayers('Layer2','','show');
}


ps. navigator.browserLanguage is IE only ;) trouwens.

Verwijderd

Doe jezelf en ons eens een lol en leer eens goed code inspringen. Dit lijkt nergens op. Als je dat namelijk had gedaan zou je hebben gezien dat je in ieder geval een accolade mist die de methode afsluit.

[ Voor 3% gewijzigd door Verwijderd op 01-05-2005 22:14 ]


  • André
  • Registratie: Maart 2002
  • Laatst online: 06-05 11:13

André

Analytics dude

Om je een compleet antwoord te geven:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<script type="text/javascript">
function getlanguage()
{
  language = navigator.browserLanguage;
  if (language) { language = language.substring(0,2); } else { language = "z"; }
  switch (language)
  {
    case "nl" :
      MM_showHideLayers('Layer1','','show');
    break;
    MM_showHideLayers('Layer2','','show');
  }
}
</script>

Zo moet het werken, verder wil ik je verzoeken om je iets meer te verdiepen in Javascript aangezien het op deze manier een scriptrequest is en dat is niet gewenst zoals in de FAQ te lezen is :)

[rml][ W&G FAQ] W&G Policy & Beleid[/rml]

Dit topic is gesloten.