Portál AbcLinuxu, 4. května 2025 22:40
Po dlhom čase som zase začal trochu robiť webdesign. Tentoraz robím niečo len tak zo zábavy, preto neoptimalizujem pre IE. Rád si strieľam z IE userov a tak som využil jeden bug ktorý IE obsahuje
No v prvom rade musím povedať, že html generujem pomocou xslt. Vďaka tomu je kód väčšinou validné html (teda minimálne xml bez chýb syntaxe). Akože nie som prasa takže nechávam tagy ako <br></br> automaticky skracovať na <br />. Toto dokáže samozrejme xslt automaticky.
Takže v prvom rade ukážem výsledok. Ak si túto stránku zobrazíte vo FF3 nezobrazí sa korektne. Vlastne aj vo FF2 ale to je vecou selektorov css .. nie je pre web také podstatné ako chyba o ktorú mi vlastne ide...
Ak si teda pozriete kód zistíte, že je to v podstate bezchybný validný kód. Lenže nefunkčný v IE a FF. Odporúčam si všimnúť riadky:
<script type="text/javascript" src="script.js" />
a
<!-- </script> Ty usujes IE? LAMA -->
.
Prvý riadok je len skrátený tag script. IE nevie poriadne xhtml a preto ho automaticky transformuje na otvorený tag (podobne ako <br />). Zatiaľ čo u br to nemá žiaden vplyv u scriptu je to omnoho horšie pretože v takomto prípade je celá stránka obsahom javascriptu. Druhý riadok je už len preto aby neostala biela stránka ale na IE pekne zobrazila chybu ;)
Vo firefoxe 2.x to ide korektne, 3.x funguje rovnako ako IE. To je nejaká emulácia chýb alebo už ani firefox neovláda základy xhtml?
Tiskni
Sdílej:
<head> <title/> </head>tak se ukáže jen prázdná stránka, protože nějak nechce vidět, cokoliv za tím TITLE. (Toto je XHTML validní.)
Navrhuju, aby se to hloupé SVG postavené na XML taky pochlapilo a vytvořilo si nějaký vlastní formátTo se tu přece nedávno probíralo, že SVG je XML aplikací jenom tak napůl
přece nebudeme používat u všech formátů stejnou gramatikuJen pro úplnou korektnost, XML je metajazyk a schéma definuje gramatiku jeho aplikace, takže každý formát má vlastní gramatiku
Nějaký atribut obsahuje strukturovanou informaci, kterou je třeba parsovat zvlášť.Víceméně tam používají mezerami oddělený seznam příkazů a argumentů. Žádny složitý parser se nekoná :).
Což je taky důvod, proč je obecný XML parser o poznání složitějšíTěsně vedle, ten důvod je úplně jinde. Je spousta parserů obecného uzávorkování, které jsou jednodušší.
Žádny složitý parser se nekoná :).= Musím napsat speciální parser.
Těsně vedle, když napíšu XML parser nerespektující schéma, nemám XML parserCož je taky důvod, proč je obecný XML parser o poznání složitějšíTěsně vedle, ten důvod je úplně jinde. Je spousta parserů obecného uzávorkování, které jsou jednodušší.
takže každý formát má vlastní gramatiku..a aby to nebylo málo, každá aplikace má obvykle taky svůj vlastní "obecný" XML parser, což argument o "stejném formátu" připravuje o velkou část pointy. :)
HTML prohlížeče dovolují něco jako <tag/> je v zásadě jen jejich benevolence, ale nemusely by to vůbec dělat, protože v HTML to není správněVe většině případů to lomítko nevadí, není to nic proti HTML normě. Vadilo by to snad jen v kombinaci se zkrácenou (HTML) notací, které ale stejně většina prohlížečů nerozumí.
Prohlížeč, který by správně pracoval s HTML, by měl zápis <tag/&ht; chápat stejně jako zápis <br>>. Jedná se totiž o tzv. "net-enabling start-tag". Násilím ukončované nepárové elementy by se v prohlížečích nepodporujících XHTML měly projevit zobrazením znaků >. Žádný známější prohlížeč se takto nechová. Je však zajímavé, že konsorciu ani webdesignérům nevadí, že doporučení XHTML 1.0 není s HTML kompatibilní.Podpora SGML SHORTTAG není v prohlížeči povinná, takže žádný prohlížeč nemusí
<br />
interpretovat jako NET tag. Navíc správný zápis toho <br />
v SGML by byl <br//
. Navíc specifikace HTML je v tomhle nejasná, protože říká, že Such empty elements never have end tags.. net-enabling start-tag ale k sobě má vždy null end-tag… Navíc specifikace HTML také tvrdí Attribute/value pairs appear before the final ">" of an element's start tag., z čehož by se dalo soudit, že net tag syntaxi nepřipouští (minimálně u tagů s atributy).
Kdyby se HTML prohlížeče chovaly přesně podle standardů, zjistilo by se, že HTML standard jako standard za moc nestojí.
No niektoré veci ktoré W3C vyprodukovalo sú veľmi dobré. Len škoda, že ich nepodporuje viac browserov. Ako príklad uvediem CSS3.To tedy nevím. V době, kdy prakticky všechny weby používají obdobný způsob vytvoření layoutu stránky, který se skládá z jednoho hacku CSS za druhým, vytvořit novou verzi CSS, která se tímhle problémem vůbec nezabývá, je podle mne úlet. Selektory pro n-tého potomka, kulaté rámečky a stíny, to všechno je hezké – ale skoro každý web musí řešit, jak udělat záhlaví, 2 – 3 sloupce a zápatí. Implementovat to do vykreslovacího enginu by bylo daleko jednodušší, než některé současné věci v CSS. Ale v CSS3 pro to asi podpora nebude žádná.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.