Avatar billede sbm Nybegynder
15. september 2006 - 13:21 Der er 5 kommentarer og
1 løsning

Forskellige måder at tilgå værdier

Der er efterhånden en række forskellige måder man kan tilgå en variabel på, alt afhængig af hvilken browser (og hvilken version af browseren) man benytter.

Jeg vil gerne prøve at lave en generisk tilgang til hvordan jeg retter en værdi. Det vil jeg for at undgå at køre en kodestump for Explorer brugere og en anden kodestump for Mozilla brugere osv... De fleste crossbrowser javascript eksempler jeg har set, smager først på browseren, og sætter så en variabel til f.eks. IE for Internet Explorer og NS for NetScape osv... Men hvad så med de browsere der eventuelt ikke passer på en af de typer der checkes på?

Derfor (!) vil jeg forsøge alle de forskellige metoder, uanset hvilken browser brugeren benytter, og så stoppe så snart det er gået godt. Så skulle jeg gerne få lavet et regulært forsøg, også i de browsere der ikke lige passer ned i en specifik kasse. Det vil jeg gøre med en række try-catch segmenter, og hvis det er gået godt, springer jeg resten over.

Men hvor mange måder er det så at gøre det på?

Jeg har umiddelbart tre eksempler, hvor jeg forsøger at sætte visibility for et layer som jeg har oprettet. Er der andre måder man kan opleve at det skal sættes på?

Jeg forhøjer gerne point, så folk der bidrager med noget konstruktivt får en rimelig mængde point, og ikke kun skal deles om de 30 :)

(Ældre) Internet Explorer browsere:
document.all.Tab1.style.visibility='visible';

Netscape:
document.Tab1.visibility='visible';

Mozilla og Opera:
document.getElementById('Tab1').style.visibility='visible';


Andre måder i andre browsere? Safari? iCab? IE på Mac?
Avatar billede sbm Nybegynder
15. september 2006 - 13:26 #1
Var det ikke på et tidspunkt nødvendigt at skrive
"display: none;" istedet for "visibility: hidden;" for nogle browsere? Hvilke?
Avatar billede fennec Nybegynder
15. september 2006 - 13:34 #2
Bare brug:
document.getElementById('Tab1').style.visibility='visible';

Så har du dækket alle kendte browsers (IE,Netscape,FF,Opera,Safari...). Kan måske være at de helt gamle browsers ikke understøtter dette, men så har du 1000 andre ting som heller ikke er understøttet.

En ting et at lave en side som kan ses i 99.9% af alle browsers. Noget andet er at bruge fem gange så lang tid på at få den sidste 0.1% med. Det er så og sige spild af tid (bare min mening)
Avatar billede sbm Nybegynder
15. september 2006 - 13:39 #3
Okay. Jeg prøver om ikke det rækker med de metoder jeg allerede har listet. Smider du et svar, så du kan få lidt point for din tid? :)
Avatar billede fennec Nybegynder
15. september 2006 - 13:54 #4
Der er desværre stadig forskelle på browserne (også de nye). F.eks disse to hvis man skal vise en <tr>, som har været skjult:

document.getElementById('enTR').style.display = 'block'; (IE)
document.getElementById('enTR').style.display = 'table-row'; (FF, Opera, Safari)
Avatar billede sbm Nybegynder
15. september 2006 - 13:59 #5
Det er okay. Jeg holder mig til at manipulere DIV tags... :)
Avatar billede fennec Nybegynder
15. september 2006 - 14:38 #6
Så længe du tjekker i IE, FF og OP, kan du være rimelig sikker på at din side fungere i hovedparten af browsers.
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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