2006-12-19 19:51 napsal Lukáš Havrlant
Microsoftí prohlížeč zná v zásadě dva vykreslovací módy,
konkrétně zpětně kompatibilní quirk a dále standardní mód, který se
více snaží dodržovat standardy. K přepínání těchto módů se
běžně používá <!doctype>, což je sice krutě
nestandardní (například nepočítáme-li mailing listy, na w3c se
ani slovo quirk či
quirks
téměř nevyskytuje), ale za to je to velice funkční. Velice přehlednou
tabulku můžeme nalézt u Pixyho.
Ovšem MSIE se přeci jen chová ještě trošičku specifičtěji. Takže
hezky popořadě. Pokud zvolíme HTML doctype bez adresy, jsme v quirku
(pro testování jsem použil mírně upravenou javascriptovou metodu
document.compatMode, nic lepšího jsem nevygooglil):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
Chceme-li zůstat u přechodné verze a přitom se dostat do standardního módu, přidáme adresu:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
A nyní už začínají lehká kouzla. Explorer totiž nereaguje jen na tuto konkrétní adresu, anóbrž na jakoukoliv adresu. Tedy pokud tam napíši svůj web, budu taky ve standardu:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://havrlant.net">
Z předchozího bodu lze usoudit, že pokud místo adresy do doctypu zadám normální text, budu v quirku. A taky že jo:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"nějaká ta beďovina">
Ovšem zajímavé je, jak MSIE určuje, zda se jedná o adresu. Žádné složitosti, prostě hledá, zda se tam vyskytuje řetězec „http://“. Tedy i s tímto doctypem dosáhnete standardního módu:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"nějaká ta beďovina, ale s http://">
Takže teď už jen zbývá doufat, že w3c nezačne používat namísto http protokolu protokol ftp:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"ftp://www.w3.org/TR/html4/loose.dtd">
To by byl docela průšvih.
Zajímavé, díky za článek :-) Zajímalo by mě, co na to ostatní prohlížeče :-)
2. ObiSkyWalker: Stačí si ty odkazy v ostatních prohlížečích otevřít :-).
4. llook: pokud ovšem budeme vědět, proč se nám IE najednou shazuje do quirku
Komentáře jsou uzavřeny