26. juni 2003 - 10:11Der er
46 kommentarer og 1 løsning
W3C's HTML Validator brokker sig over mit JavaScript
I går konverterede jeg alle mine HTML-koder på www.phoenixv.dk, der før var 4.01 Transitional, til XHTML 1.1 og mit CSS til korrekt CSS2. W3C's HTML Validator ser sig dog stadig sur på et par af mine sider, fx: www.phoenixv.dk/links.html
Line 91, column 19: character "&" is the first character of a delimiter but occurred as data Line 91, column 20: character "&" is the first character of a delimiter but occurred as data
Linje 91 i min kode er midt i et JavaScript, og dér er det jo korrekt nok at skrive &&. Hvis jeg i øvrigt tager scriptet ud, validerer siden inkl. CSS helt korrekt.
Så hvad gør jeg for at løse problemet med det logiske "og"?
Nej jeg så forkert. Der stod det var "valid" - jeg overså kommentaren. Der er 2 muligheder: 1) Javascript er ikke en den af XHTML1.1 2) Der er en fejl i validatoren
vælg selv ;)
Synes godt om
Slettet bruger
26. juni 2003 - 10:22#8
Eller også skal man tilføje noget med entity osv. Men det valideres jo korrekt med <!-- og //-->... Så det må jeg "tage til takke med" foreløbig. Håber dog stadig, der er én, som kan komme med en smartere løsning. :)
xhtml 1.1 er ikke fuldt ud implementeret i de mest anvendte browsere på internettet, og derfor bør du kun kode i xhtml 1.0.
/per
Synes godt om
Slettet bruger
26. juni 2003 - 12:22#13
hoejrup>> Det virker i hvert fald fint i IE6, NS7 og Opera7. Det skader ikke at følge de nyeste standarder, så længe man har øje for, om skidtet fungerer. :)
Synes godt om
Slettet bruger
26. juni 2003 - 12:23#14
arne_v>> JavaScript og HTML er vidt forskelligt. Så det virker desværre ikke.
Jeg ville formode, at de var blevet konverteret til rigtige && inden de nåede frem til JavaScript fortolkeren (de bør nemlig konverteres af XML parseren).
Men det var kun en løs ide.
Synes godt om
Slettet bruger
26. juni 2003 - 12:27#17
Jep, se linket til validatoren. Det valideres helt som håbet med CDATA! :)
phoenixv> Ja, men jeg vil helst have at alle kan se et website uden problemer, og derfor behøver du ikke altid at være først med den nyeste standard. Du burde holde dig til xhtml 1.0.
Ja visse håndholdte PDA'er anvender xhtml 1.0 :-)
/per
Synes godt om
Slettet bruger
26. juni 2003 - 13:02#27
IE5 viser min side præcis som IE6, bortset fra at teksten i den lille boks nederst er lidt mindre. Derudover er der en lille uregelmæssighed ved "Forside"-punktet i menuen, men intet der på nogen måde springer i øjnene eller generer. Så XHTML 1.1 it is! :)
I øvrigt har den computer, jeg testede på, ikke internetadgang, så måske ville det blive vist helt perfekt, hvis den kunne downloade DTD'en.
Synes godt om
Slettet bruger
26. juni 2003 - 13:04#28
maddog & jakobclausen>> I bliver nødt til at smide et svar inden kl. 15-16 stykker, for ellers må jeg vente to uger.
phoenixv>Det har du hellere ikke! For den statistik kan du ikke bruge til noget.
/per
Synes godt om
Slettet bruger
26. juni 2003 - 14:38#32
? Det virker i IE5+. Det virker i NS6+. Det virker i Opera7.
= mindst 95%.
Synes godt om
Slettet bruger
26. juni 2003 - 14:39#33
NS4 bruges næsten kun på biblioteker. IE4 bruges kun af de forsvindende få, der ikke tør opdatere. Opera-folket plejer at væøre hurtige til at opdatere til nyeste version.
Synes godt om
Slettet bruger
26. juni 2003 - 14:50#34
Så mangler vi kun Konqueror, Safari, etc., og dem stiler jeg ikke efter.
Synes godt om
Slettet bruger
26. juni 2003 - 14:52#35
Men jeg bliver nødt til at smutte nu. Jeg får først mulighed for at lukke spørgsmålet om et par uger, så hav lidt tålmodighed. :) Og tak for hjælpen!
arne_v>Google og andre former for statistik er skam seriøs nok, men de fleste har det med at misbruge den. Og dette indlæg er et godt eksempel på en sådan situation.
Hvis det virker i 95% af tilfældene på en windows platform. Så har han en chance for at 15% af brugerne ikke kan se websitet korrekt. :-)
Du tager en statistik hvor browsere ikke er opdelt på platform og hvor 92% er på Windows platform og konkluderer at: 95% af windows brugere er 85% af alle brugere.
Han påstår at mindst 95% af brugerne kan se xhtml 1.1 i deres browser, og det er misbrug at statistik så det basker! IE5 er ikke den samme software på windows, som på de andre platforme. IE5 på en del andre platforme kan ikke vise xhtml 1.1 korrekt, og derfor holder hans argumentation overhovedet ikke vand.
På opfordring smider jeg et svar. CDATA escape fortæller browseren at denne blok er erklæret cdata og derfor ikke skal parses. den "gamle" <!-- --> metode får browseren til at opfatte indholdet af scriptet som en kommentering (og derfor bliver det heller ikke parset). I XML må man ikke bruge html kommenteringer, og derfor er det mest konsistente at bruge en cdata blok (hvis man altså ønsker at udnytte fordelen ved at kunne parse sin html side som xml - hvorfor ellers bruge xhtml...). Hvis man ønsker at minimere fejlvisning i gamle browsere kan man skrive //<![CDATA[ <!-- ... scriptet ... // --> ]]> hvilket vil give "//<![CDATA[]]>" som uønsket tekst i disse OLD-gamle browsere. I XHTML 1.2 må man IKKE bruge HTML kommeteringer frit AFAIK.
Synes godt om
Slettet bruger
12. juli 2003 - 19:09#42
maddog>> Tak for uddybningen. Du får hermed point!
hoejrup>> Jeg er udmærket klar over, at browserstatistik ikke er noget, man skal læne sig for meget op ad. Til gengæld vil jeg have lov til at vurdere ud fra min målgruppe. Set i det perspektiv mener jeg stadigvæk, XHTML er bedste løsning, eftersom dette unægteligt ser ud til at være fremtidens formateringssprog på nettet.
arne_v>> Tak for forsvaret i mit fravær. :)
Synes godt om
Slettet bruger
12. juli 2003 - 19:45#43
maddog>> Det kan også lige tilføjes, at IE6 hører med under "gamle browsere" når vi snakker fejl ved brug af CDATA inden i script-tags. Derfor er det nødvendigt med kommenteringen.
phoenixv>> Jeg tror at du blander tingene sammen, for jeg mener nemlig det er for tidligt at kode i xhtml 1.1. Men der for kan du godt kode i xhtml 1.0, for det er nemlig fuldt ud implementeret i de fleste browsere. Det er bare ikke tilfældet med xhtml 1.1 standarden.
/per
Synes godt om
Slettet bruger
13. juli 2003 - 10:28#45
hoejrup>> Tests har vist, at det XHTML 1.1, jeg bruger, fungerer upåklageligt i det, jeg vil betragte som min målgruppes browsere. I øvrigt er XHTML 1.1 jo meget lig XHTML 1.0 Strict.
phoenixv>>Du ser alt for isoleret på xhtml 1.1 og xhtml 1.0 strict. For der findes nemlig noget funktionalitet i xhtml 1.1, der ikke findes i xhtml 1.0 strict. Ellers var der ikke noget formål med at kalde det xhtml 1.1. Og jeg overværede faktisk en af eksperterne fra w3c. Der netop oplyste at funktionaliteten fra xhtml 1.1 ikke var fuldt indbygget i browserne.
Men den smule xhtml 1.1 du anvender virker sikkert upåklageligt.
/per
Synes godt om
Slettet bruger
13. juli 2003 - 10:45#47
... og det er jo lige præcis det, det handler om! Hele denne diskussion har jo drejet sig om mit site. Jeg argumenterer ikke for andet, end at hvis test viser, at funktionaliteten ikke nedsættes, og man samtidig overholder standarderne, bør man bruge den nyeste specifikation. Hvis man kommer ud for at skulle bruge noget XHTML 1.1, der ikke er implementeret endnu, skal man selvfølgelig se tiden an og vente med at omskrive sin kode.
Synes godt om
Ny brugerNybegynder
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.