06. december 2008 - 10:35Der er
15 kommentarer og 1 løsning
crossbrowser kompabilitet - overblik
Hvordan får jeg det bedste overblik over forskellighederne i de gængse browsere, så jeg kan kode herefter ? Jeg har en side der validerer korrekt, men i ff2.0.0.18 er der nogle funktioner der ikke virker, og jeg er helt blank på hvorfor. Der må findes en oversigt somewhere ?
Jeg syntes ikke helt jeg kan se hvad der fungerer hvor på det link...? Helt konkret har jeg en funktion der kaldes ved onChange på en select, og i ff sker der absolut intet.
Undgå så vidt mulig w3schools.com og html.dk, som begge er herostratisk berømt for seriøse fejl, misforståelser og udeladelser. Dér lærer man ikke at kode web!
Der kan være rigtig mange forskellige årsager, og det er næsten umuligt at give en samlet oversigt over browserforskelle på markup, CSS, DOM og script. Erfaring er det bedste værktøj i dén sammenhæng - parret med en stor og dyb viden om teknologierne/teknikkerne.
Prøv at vise, hvad det er, der går galt - så kan vi sikkert finde fejlen. Men der er jo ingen, der siger, din kode ikke er fyldt med fejl, bare fordi markupkoden validerer og virker i én browser =)
Derudover er en valid kode ikke nødvendigvis en god kode ... men en god kode er altid valid ;o)
Roenving - takker for den forkortede kode. Field blev ikke sat da det viste sig at jeg brugte <select name= istedet for <select id=, derfra jeg kaldte funktionen. Smid et svar :-)
- og i din situation ville en fortegnelse over browserforskelle være ganske overflødig. I denne situation handler det derimod om at kode i overensstemmelse med gældende standarder ... og ikke mindst sund logik ;o)
At et element skal have sat en ID, før det kan kaldes med getElementById, er vel ikke så underligt =)
Olebole: Den var ikke helt fair. Jeg har kun skullet kode i js til IE indtil nu, og IE accepterer name som id. Det er jo lige præcis en sådan forskel jeg har brug for at vide og efterspørger. Jeg forstår iøvrigt ikke hvorfor min kode validerer på validator.w3.org, - er en sådan validering ikke et ok på at gældende standarder er overholdt ? Eller er jeg helt galt på den ?
W3 validerer ikke JavaScript, så det er grunden. Og selvom du måske synes, Oleboles svar ikke var helt fair, så var det ikke desto mindre et rigtig godt råd i forhold til den måde, du hidtil har kodet, da det kunne overflødiggøre spørgsmål herinde helt. Hvilket vel må være at foretrække. :)
Ja, validatoren validerer udelukkende din markup (html) kode - ikke din CSS, DOM eller script kode.
Jeg finder det nu ganske logisk, at: *) getElementsByTagName adresserer gennem elementernes tagName *) getElementsByName adresserer gennem elementernes name *) getElementById adresserer gennem elementets id
- og uanset, om man kun skal kode til én browser, er der masser af gode grunde til at overholde gældende standarder
Jeg bruger selv W3C, Mozillas JavaScript og Gecko-DOM referencer, MS' JScript reference og et hav af andre sider hos MS og Moz - men jeg kender ingen sammenlignende sider, hvor det er muligt at få et godt overblik.
Hårdt arbejde med at læse hos de ovennævnte og at kode med test i alle gængse browsere er vejen frem ... og den er lang ;o)
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.