Avatar billede Debillus Nybegynder
27. marts 2011 - 09:51 Der er 1 løsning

JavaScript, Cookies og Browserkompatibilitet

Jeg har bøvl med at få bl.a. IE og Opera til at "opføre sig ordentligt" med en stump javascript jeg bruger til at styre en language cookie.

Først lidt opsætning til problemstillingen

Mit website består af (bl.a.) to wordpress intallationer. Den ene, på dansk, er placeret i roden og den anden, på engelsk, er placeret i en undermappe. Fra menuen i begge installationer kan man skifte sprog, ligesom nye besøgende bliver mødt med en "Vælg sprog" side før de bliver sluppet ind til den ene, eller den anden version af mit site. - Alt dette ordnes vha. en cookie kaldet 'language'.

Til formålet har jeg tilrettet WP's index.php (i begge mapper) således, at man viderestilles til min \select.php side hvis ikke language cookien er sat, eller indeholder noget forståeligt. Select.php siden præsenterer brugeren for valget mellem dansk og engelsk og sætter, vha. Javascript, language cookien tilsvarende. Herefter sendes brugeren tilbage hvor de kom fra (index.php).

Index.php kan nu konstatere at cookien er sat, og vil derefter enten fortsætte med at loade wp, eller sende brugeren videre til den anden "index.php" hvor den eneste forskel mellem dem, er hvilken værdi af cookien der slipper brugeren videre, eller redirigerer dem.

Tilsvarende, på selve wordpress siden, når brugeren vælger at skifte sprog, sættes cookien til det modsatte sprog og siden (index.php) reloades.

Alle steder hvor brugeren klikker på et flag, bruger jeg "onClick" og javacript til at skrive værdien til cookien, mens jeg i index.php bruger PHP til at læse værdien af cookien.

Javascript koden til "Set_Cookie" kan ses her: http://techpatterns.com/downloads/javascript_cookies.php

Alt dette virker perfekt i Firefox, Chrome og Safari. Mens det enten slet ikke virker eller kun virker delvist i Internet Explorer og Opera.

Jeg har brug for en konkret pegepind til hvor inkompatibiliteten opstår og hvordan jeg fikser problemet med de to sidstnævnte browsere.

Jeg er klar over at jeg kan bruge php og lidt ekstre redirects istedet for "onClick", men vil foretrække at holde denne del så simpel og hurtig som mulig.
Avatar billede Debillus Nybegynder
29. marts 2011 - 09:15 #1
Hiver mine points hjem igen. Har droppet javscript fuldstændigt i den sammenhæng. Gad stadig godt kende svaret, men gør mig ingen forhåbninger i den forbindelse.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester