


Proč používat XML deklaraci? Jedním z důvodů bude určitě i modernost podpořená fámou, že čím více "věcí" před a v hlavičce, o to více frajerský web. Dalším bude určitě validita, i když validátor, pokud vím, nehlásí chybějící deklaraci jako chybu. Zajímavým důvodem/výsledkem XML deklarace je také přepnutí jednoho z nejrozšířenějších prohlížečů Internet Exploreru 6, do nestandartního tzv. quirk módu, o kterém ale později.
XML deklarace spolu s kódováním vypadá takto:Záměrně jsem nechal kódování, které by se mimochodem mělo shodovat s kódováním v hlavičce v meta-tagu Content-type, windows-1250, jelikož např. moderní unicode UTF-8 XML deklaraci striktně nevyžaduje, nemusí se tedy v případě dokumentu kódovaném v UTF-8 vůbec psát, takže jinými slovy by se měla XML deklarace používat vždy, pokud nepoužívate pro kódování UTF-8. Spousta lidí má často problém se zápisem deklarace, pokud ukládají dokument s příponou *.php, protože deklarace vypadá díky začátku zápisu <? jako PHP skript. V tomto případě nám pomůže, když si deklaraci vypíše PHP echem:
Stinná stránka věci přichází v případě Internet Exploreru 6 (nejsem si jistý, jestli neumí módy přepínat i IE 5.5). Ten, pokud se mu dostane do pazour dokument s XML deklarací okamžitě přepíná do tzv. quirk módu (stejně tak, pokud chybí DOCTYPE) ve kterém rozdílně interpretuje některé vlastnosti. Chybami jsou zobrazování rozměrů u řádkových elementů jako např. span, velikost písma je o stupeň větší a špatně zobrazuje rozměry blokových prvků - např. započítávání rámu (border) do konečné šířky, čímž je pak blok užší atd. Jedinými řešeními je s těmito věcmi počítat a oddělit stylopis pro IE např. pomocí podmíněných komentářů nebo ve vlastnostech použít podtržítkového hacku, který je ale nevalidní nebo použít tzv. CSS hack, kdy se zapisuje hodnota vlastnosti v uvozovkách, např. width: "100px". IE v quirk módu tento nesprávný zápis vezme a hlavně mů dát přednost před syntakticky správným zápisem bez uvozovek.
23.03.2007, 18:24dump
komentoval(a) 11.08.2007, 03:45
Problem s Internet Explorerem se da dobre resit pres .htaccess. Uvedu priklad tohoto souboru ktery zobrazi specialne optimalizovanou stranku pro tento tak rozsireny prohlizec.
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} .*MSIE.*
RewriteRule ^.*$ http://airdump.net/msie.php [L]
RewriteRule ^(.*)$ $1 [L]
swah
komentoval(a) 14.08.2007, 22:17
dump: Nabádání uživatelů k používání "moderních" prohlížečů nevidím jako zrovna šťastné řešení, už pro to, že se jedná o tolik rozšířený prohlížeč, jak jsi sám uvedl. Velmi málo uživatelů začne díky tvému doporučení stahovat jiný prohlížeč, aby si v něm tvé stránky zobrazili. Jednoduše stačí IE do quirku nepřepínat, když není člověk zyvklý mu přizpůsobovat stylopis.



Napište komentář