Proč IE9 nezobrazí každý web tak, jak by měl

Možná jste zkusili betaverzi IE9 a divíte se, že se některé stránky zobrazují hůře než v jeho předchůdci. Není to ovšem špatným jádrem nebo betaverzí. Na vině jsou historické okolnosti.

Možná už týdny zkoušíte nový Internet Explorer 9 a říkáte si, že asi moc dobrý nebude, když v něm hromada webu „nejede“ – nezobrazují se tak, jak mají. Z velké části je to dáno výchozím standardním jádrem, které je optimalizované pro zobrazování standardizovaného HTML kódu. Mnohé weby jsou nicméně optimalizované pro starší verze Internet Exploreru. V takovém případě stačí v adresním řádku klepnout na ikonu pro přechod do kompatibilního režimu a prohlížeč použije jádro IE8. Konkrétní weby pak mohou ve svém kódu prohlížeči sdělit, aby použil ještě specifičtější režim, který bude odpovídat starším verzím IE.

CV List

Z dlouhodobého hlediska se pochopitelně očekává, že vymizením starých prohlížečů z trhu postupně autoři webů z kódu vymažou nejrůznější „kličky a úskoky“ pro prohlížení stránek ve starším Internet Exploreru, nicméně to může trvat ještě roky.

kompatibilni rezim.png
Přepnutí do kompatibilního režimu

Do té doby je třeba, aby prohlížeč sám dokázal určit, jaké jádro má vlastně použít. Pokud mu to neřekne autor kódu přímo v hlavičce webové stránky a také ani surfař, který by při každé chybě musel klepat na nejrůznější tlačítka, záchranou může být CV List (Compatible View List). To je seznam webů, které vyžadují přepnutí do kompatibilního režimu a prohlížeč to učiní za vás.

Podobný seznam se poprvé objevil v Internet Exploreru 8, neboť už ten používal částečně standardizované jádro, nicméně tentokrát by mělo být vše vyřešeno ještě elegantněji. Seznam umožní webům raději přepracovat některé vlastnosti jádra IE9 tak, aby se chovaly jako v IE8, než přecházet na celé jádro IE8, které přijde o veškeré výhody nového systému.

cv list ie9.png
Černá listina nekompatibilních webů

Výrazně se promění také přidávání webů na seznam. V praxi to bude fungovat tak, že každý web, který označíte a zobrazíte v kompatibilním režimu, se pošle ke zpracování na servery Microsoftu. Microsoft následně ověří, jestli si jen tak nehrajete, a pokud web na dané adrese skutečně nebude fungovat v jádře IE9, teprve ho přidá na seznam.

Kde ho najít

Seznam ve formátu XML najdete buď na webu Microsoftu, nebo u sebe v počítači na adrese C:\Users\<uživatelské jméno>\AppData\Local\Microsoft\Internet Explorer\IECompatData

Každý záznam upravuje, jaké jádro se pro daný web má použít a případně další vlastnosti. Pokud takový seznam chcete použít, klepněte v prohlížeči na ALT a v hlavním menu Nástroje vyberte Nastavení kompatibilního zobrazení. V dialogu pak stačí zaškrtnout první volbu Zahrnout seznam….

 kompatibilni rezim.png
Správa stránek zobrazených v kompatibilním režimu

Seznam můžete samozřejmě uživatelsky rozšiřovat, a jelikož se jedná o běžný XML soubor, snadno ho na USB „klíčence“ přenesete na jiný počítač.

Kdo může za „svinčík“ na webu?

Zobrazování stránek v IE9 může zpočátku skutečně dělat neplechu. Na vině jsou vývojáři a především historické okolnosti. Weboví vývojáři si práci často „usnadňovali“ tím, že při specifickém kódu omezili jeho zpracování na celou rodinu prohlížeče. Pokud tedy IE8 něco interpretoval jinak než ostatní, prostě se kód omezil na celý Internet Explorer. Do takové skupiny pak snadno spadne i IE9, ačkoliv takovému kódu pro IE6 až IE8 vůbec nemusí rozumět, paradoxně totiž podporou W3C standardů spadá do druhé skupiny. Obecně se tedy doporučuje, aby programátor, pokud může, omezoval kód podle podpory této technologie, nikoliv podle prohlížeče. Laicky řečeno, pokud umíš techniku XYZ, použij ji. Nikoliv: pokud jsi jakýkoliv prohlížeč vyjma Internet Exploreru, použij techniku XYZ.

Na vině je ale pochopitelně i Internet Explorer, který se v průběhu času významně měnil, a tak se dnes po světě pohybuje hned několik verzí jeho jader. To by byl ale problém i ostatních prohlížečů – pro současný web je jádro Firefoxu 1 stejně nebezpečné jako IE 6 –, ale jejich výhoda spočívá v tom, že se mnohem rychleji obměňují. Zatímco tedy Firefox 1 nebo 2 dnes používá statisticky bezvýznamné procento surfařů, IE6 se v celosvětovém měřítku stále ještě drží. Ostatně podle StatCounteru má něco málo pod sedmi procenty tržního podílu.

CV List.png
Jak funguje přidání webu na CV List

Internet Explorer a Microsoft jsou nakonec poměrně často kritizovaní i pro to, že se tak dlouho odvraceli od linie standardů W3C a razili si vlastní cestu. Pamětníci si jistě vzpomínají na microsoftí pojetí DHTML nebo třeba vlastní implementaci starého Nestcape Javascriptu jménem JS script.

Z dnešního pohledu se to může jevit jako plavba proti proudu (a také by byla), nicméně před deseti-patnácti lety byla realita poněkud jiná. W3C bylo v plenkách, rozhodně nemělo takovou autoritu jako dnes a Internet Explorer prakticky okupoval web na osobním počítači s Windows (a dočasně s Mac OS). Tehdy jsme jednoduše ještě neznali vítěze standardizační bitvy a stejně tak se mohlo stát, že by se dnes pozornosti těšily standardy úplně jiné autority.

Microsoft nyní přirozeně změnil strategii a nelze než doufat a věřit jeho slibům, že se chce aktivně zapojit v uskupení W3C. To je poměrně důležité, W3C totiž pro něj nesmí být „ta opovrhovaná organizace“, musí to být on samotný, jedině tak se totiž můžeme dočkat webu, který v budoucnu nebude potřebovat ani jeden kompatibilní mód – ať už v podání IE nebo třeba Firefoxu. Partnerství s Googlem v pracovní skupině W3C – Web Performance Working Group, je snad důkazem toho, že to je skutečně možné.

Diskuze (50) Další článek: Bezdrátová myš s multitouch povrchem po vzoru Apple Magic Mouse

Témata článku: , , , , , , , , , , , , , ,