[css/html validator] Een fout maar waarom ?

Pagina: 1
Acties:

  • shades
  • Registratie: September 2001
  • Laatst online: 10-08 15:01
Mijn site heb ik laten checken bij w3c
Hier het resultaat van de html check en hier het resultaat van de css check. De css is goed, op wat warnings na. Ik heb alle 'font-family' warnings en al uit gehaald maar wat er nou niet goed is aan de html. Er worden in een bepaalde divs wat dingen uitgevoerd die tussen scripttags staan maar dan begint ie te bleren bij
code:
1
document.write('</table>');
dat <table> helemaal niet geopend is maar er staat wel degelijk boven
code:
1
document.write('<table>');
. Ik snap niet wat ik hier nou nog aan moet veranderen dat ik html4.01 okay ben.

(Zijn trouwens de doctype en meta tags enzo goed want ik zie ook mensen hele andere dingen daar opgeven...)

https://k1600gt.nl


Verwijderd

er staat geloof ik ergens aangegeven op de validator paginas dat je in javascripts tags goed moet escapen. HTML comment tags eromheen zetten zou ook wel eens kunnen helpen <!-- code -->

  • shades
  • Registratie: September 2001
  • Laatst online: 10-08 15:01
Verwijderd schreef op 22 March 2003 @ 11:28:
er staat geloof ik ergens aangegeven op de validator paginas dat je in javascripts tags goed moet escapen. HTML comment tags eromheen zetten zou ook wel eens kunnen helpen <!-- code -->
Erm :? dat heb ik gedaan, check de source maar...

Edit
Bedoel je
HTML:
1
<!-- <script> code </script> -->


of (in mijn geval)

HTML:
1
<script><!-- code //--></script>


?

[ Voor 28% gewijzigd door shades op 22-03-2003 11:34 ]

https://k1600gt.nl


Verwijderd

gooi je script extern en gebruik ook liever in je CSS alleen maar onderkast tekst, komt de leesbaarheid alleen maar te goede.

Over de doctype, de doctype die je gedeclareerd hebt zal de moderne browsers (IE 6 en Mozilla bijvoorbeeld.) nog steeds in 'quirks' mode doen belanden, wat waarschijnlijk niet je bedoeling is.

De volledige doctype declaratie voor HTML 4.01 transitional is als volgt
HTML:
1
2
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
            "http://www.w3.org/TR/html4/loose.dtd">


Deze declaratie zorgt ervoor dat de browsers in 'standards compliant' mode pagina's renderen.

Volgens mij moet je alle non-html data tussen een CDATA tag zetten, volgens mij krijg je die error dan niet.
HTML:
1
<![CDATA[<script></script>]]>


Echter dit werkt weer niet in IE, dus ik weet eerlijk gezegd niet wat die fout veroorzaakt.

[ Voor 22% gewijzigd door Verwijderd op 22-03-2003 11:43 ]


Verwijderd

dat tweede bedoelde ik...

Maar probeer eens de tags in je script te escapen, dus \<table\> \<\/table\> als het goed is maakt dat voor het script niets uit en merkt de validator niet meer dat er html staat

  • shades
  • Registratie: September 2001
  • Laatst online: 10-08 15:01
Verwijderd schreef op 22 March 2003 @ 11:35:
gooi je script extern en gebruik ook liever in je CSS alleen maar onderkast tekst, komt de leesbaarheid alleen maar te goede.

Over de doctype, de doctype die je gedeclareerd hebt zal de moderne browsers (IE 6 en Mozilla bijvoorbeeld.) nog steeds in 'quirks' mode doen belanden, wat waarschijnlijk niet je bedoeling is.

De volledige doctype declaratie voor HTML 4.01 transitional is als volgt
[..]
Deze declaratie zorgt ervoor dat de browsers in 'standards compliant' mode pagina's renderen.
Doctype aangepast maar dat verneukte wel de lay-out. Moet dus weer gaan zoeken waar dat nou weer aan ligt. Nooit geweten dat dat zo'n impact heeft. Heb css naar lcase gezet. Dat script is alleen wat lastig want die menuopties worden via asp-script daar neergezet.
Verwijderd schreef op 22 March 2003 @ 11:37:
dat tweede bedoelde ik...

Maar probeer eens de tags in je script te escapen, dus \<table\> \<\/table\> als het goed is maakt dat voor het script niets uit en merkt de validator niet meer dat er html staat
Ga ik even uitproberen nadat ik gekeken heb wat er met mij lay-out aan de hand is..

[ Voor 9% gewijzigd door shades op 22-03-2003 11:49 ]

https://k1600gt.nl


Verwijderd

shades schreef op 22 March 2003 @ 11:48:
Doctype aangepast maar dat verneukte wel de lay-out. Moet dus weer gaan zoeken waar dat nou weer aan ligt. Nooit geweten dat dat zo'n impact heeft.
Doctypes zijn heel belangrijk voor een browser, als je een xhtml 1.0 strict pagina hebt dan zal de browser deze pagina veel sneller kunnen renderen (met een in grootte vergelijkbaar html 4.0 document) omdat er geen rekening hoeft te worden gehouden met 'tag soup' een heleboel elementen zijn niet geldig in xhtml en daar hoeft de parser dus ook geen rekening mee te houden :)

  • shades
  • Registratie: September 2001
  • Laatst online: 10-08 15:01
Verwijderd schreef op 22 March 2003 @ 11:53:
[...]


Doctypes zijn heel belangrijk voor een browser, als je een xhtml 1.0 strict pagina hebt dan zal de browser deze pagina veel sneller kunnen renderen (met een in grootte vergelijkbaar html 4.0 document) omdat er geen rekening hoeft te worden gehouden met 'tag soup' een heleboel elementen zijn niet geldig in xhtml en daar hoeft de parser dus ook geen rekening mee te houden :)
Ik heb voor de grap in html validator eens xhtml1 geselecteerd en dan krijg ik allemaal van dit soort fouten: column 52: end tag for "img" omitted, but OMITTAG NO was specified Iets zegt met dat ik <img...></img> moet gaan gebruiken.

De pagina is (met de wijziging van jaap3) nu wel html4.01 okay :D.

[ Voor 4% gewijzigd door shades op 22-03-2003 12:04 ]

https://k1600gt.nl


Verwijderd

Je moet document.write('<\/table') gebruiken binnen script-tags.
Op het moment van het openen van de script-tag wordt de javascript-parser van de browser geactiveerd. Deze mag worden afgesloten op het moment dat er '</' wordt gevonden. De meeste browsers doen dit wel niet en eindigen pas het javascript parsen op het moment dat ze '</script>' vinden. Echter, de validator houdt daar dus geen rekening mee.
Hier staat het ook goed uitgelegd:
http://www.dto.tudelft.nl/mirhtml/script.htm
Op het w3c staat het geloof ik ook, maar dat moet je dan zelf maar even zoeken :)
Comment tags zijn bedoeld voor browser zonder script-ondersteuning, dat ze niet per ongeluk de inhoud van de script-tag renderen.

Ik zou zelf gewoon lekker html gebruiken, ik heb al een paar keer websites gezien die een xml-parser error geven ipv de webpagina. Ik kan me trouwens niet voorstellen dat pagina's veel sneller worden gerendered in xhtml-pagina's. Zijn daar benchmarks van te vinden? (wel nieuwsgierig naar).

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 01:05

crisp

Devver

Pixelated

shades schreef op 22 March 2003 @ 12:04:
[...]


Ik heb voor de grap in html validator eens xhtml1 geselecteerd en dan krijg ik allemaal van dit soort fouten: column 52: end tag for "img" omitted, but OMITTAG NO was specified Iets zegt met dat ik <img...></img> moet gaan gebruiken.

De pagina is (met de wijziging van jaap3) nu wel html4.01 okay :D.
In xhtml moet je alle tags afsluiten, dus ook singe-tags die in html4 nog niet afgesloten hoefden te worden zoals <img> en <br>. Afsluiten doe je dan zo:
HTML:
1
2
[img]"eenplaatje.gif"[/img]
<br />

Intentionally left blank


  • shades
  • Registratie: September 2001
  • Laatst online: 10-08 15:01
Verwijderd schreef op 22 maart 2003 @ 13:26:
Je moet document.write('<\/table') gebruiken binnen script-tags.
Hier staat het ook goed uitgelegd:
http://www.dto.tudelft.nl/mirhtml/script.htm

Ik zou zelf gewoon lekker html gebruiken
Ah.. een zeer interessante links. Zoals ik een topicje ofwat terug al zei.. Het wordt nog wel eens wat met mij :D
crisp schreef op 22 March 2003 @ 13:45:
[...]

In xhtml moet je alle tags afsluiten, dus ook singe-tags die in html4 nog niet afgesloten hoefden te worden zoals <img> en <br>. Afsluiten doe je dan zo:
HTML:
1
2
[img]"eenplaatje.gif"[/img]
<br />
Dat ziet er echt heel erg onlogisch uit. 'k geloof dat ik het voorlopig op gewoon html houd...

https://k1600gt.nl

Pagina: 1