Pozor na IE 6 standalone! (aktualizováno)
Nedávno jsem řešil problém, jak na jednom počítači provozovat Internet Explorer 6 a 7. Na Profiblogu jsem si s nadšením přečetl článek o IE 6 standalone a jal jsem se ho stáhnout. Internet Explorer 7 na sebe nenechal dlouho čekat a tak jsem ho kvapně nainstaloval. Několik dalších dní jsem si mnul ruce, jak se bráškové skvěle doplňují. Byl jsem rád, že nemusím používat virtualizační nástroje.
Pravda, o jednom záporu jsem věděl. Na nějakém zapomenutém místě jsem se dočetl, že ve zmíněném IE 6 standalone nefungují cookies. Ale to pro kodéra není až takový problém.
Osamostatněný Explorer šestý mi sloužil, seč mu síly stačily. Včera však začal znenadání plivat krev. Potřeboval jsem pro jeden web vytvořit soubor s kaskádovými styly zvlášť pro IE 7. Do hlavičky v HTML souboru jsem pomocí podmíněného komentáře styl přilinkoval a sebejistě jsem stránku otestoval v IE 7. Voilá, jede to! Pro jistotu stránku zkusím i v IE 6 a co se nestane. Z nepochopitelných důvodů se separátní styl aplikuje i zde.
Pro nedůvěřivce, takhle vypadá zmíněný podmíněný komentář:
<!--[if IE 7.0]>
<link rel="stylesheet" type="text/css" href="ie7.css" media="screen" />
<![endif]-->
Že na něm není nic špatného? Ano, máte pravdu, chyba je někde úplně jinde. IE 6 standalone se totiž hlásí jako IE 7 (pokud máte IE 7 nainstalovaný, jinak se bude pravděpodobně hlásit jako verze IE, kterou máte nainstalovanou ve Windows), takže si vesele přečte podmíněný komentář a použije jeho obsah.
Zde je ukázka: http://www.bulant.cz/...e7condcomms/
poznámka:
Tento neduh jsem odhalil u zmíněné verze IE 6 standalone, je tedy možné, že jiná verze se bude hlásit správně jako IE 6. Za jakou verzi se IE považuje zjistíte v nabídce nápověda (help) → o Internet Exloreru (about Internet Explorer).
Aktualizováno:
Bohužel se jako IE 7 hlásí i ostatní verze IE standalone, u mě jsou to standalone verze, které jsou na CD, dodávaném s knihou CSS: Hotová řešení. Takže to bude globální chyba, všechny standalone se prostě identifikují jako primární nainstalovaný IE, což je dost závažný problém.
Aktualizováno podruhé:
Moje domněnka nebyla tak úplně správná.
Od Dera jsem se dozvěděl, že se všechny verze IE standalone hlásí jako ta verze, která je udána v registrech. Takže se všechny standalone budou v jednom okamžiku hlásit vždy jako jedna verze.
Aktualizováno potřetí:
Výtah a překlad řešení najdete u Toma Adamce.