Tři zobrazovací módy Internet Exploreru 8

V pondělí se objevil ke stažení release candidate Internet Exploreru 8. Pokud se neobjeví žádné problémy, bude finální verze IE8 prakticky totožná s touto verzí. Pojďme si připomenout, čím vším zatím vývoj IE8 prošel a představme si jeho tři zobrazovací módy.

Nelehká pozice Internet Exploreru

Prohlížeč Internet Explorer se nachází v nelehké pozici. Po řadu let byl na webu nekorunovaným králem, ovšem jeho podíl v posledních letech nezadržitelně klesá. A Microsoftu se zatím nepodařilo tento pokles zarazit. Jak ostatně naznačuje následující obrázek:

Podíl prohlížečů za posledních 12 let

Podíl majoritních prohlížečů za posledních 12 let. Historický průběh hlavních prohlížečů Netscape, Internet Exploreru a Firefoxu je pravděpodobně notoricky známý a není třeba jej příliš komentovat (snad jen všimněte si klesající křivky Netscape v devadesátých letech a IE dnes, jsou si zatím nápadně podobné, jen pokles IE je o něco pomalejší). Zajímavý je také podíl „ostatních“ prohlížečů, který byl znatelný v polovině devadesátých let (do té doby vzniklo okolo 40 různých webových prohlížečů!), pak na mnoho let poklesl a teprve v posledních době opět narůstá – důkaz, že trh na poli prohlížečů začal opět fungovat. Obrázek byl převzat z W3b.org.

K TÉMATU: Jak vkročily prohlížeče do roku 2009

IE8 přicházel s velkou neznámou

O tom, jak bude IE8 vypadat, se poměrně dost spekulovalo. Není divu. Microsoft všechny informace dlouho přísně držel pod pokličkou. Dokonce ani osvědčení betatesteři a řada samotných zaměstnanců Microsoftu neměla dlouho k informacím o IE8 přístup. Troufám si říct, že Internet Explorer 8 byl na počátku jedním z nejpečlivěji střežených tajemství Microsoftu.

Kromě několika velmi strohých informací z publikovaných rozhovorů veřejnost nevěděla zhola nic. O IE8 mezitím začala kolovat řada zpráv rozličné povahy, podle nich měl IE8 obsahovat nový zobrazovací mód (to se potvrdilo, viz dále), a údajně také podporu mikroformátů (což se nakonec nepotvrdilo).

První informace o IE8 se objevila 5. prosince 2007 na blogu vývojářů IE a neříkala nic jiného, než že nástupce IE7 se bude (překvapivě) jmenovat IE8.

Splnění testu Acid 2

To ale bylo jen malé zahřívací kolo, protože hned devět dní nato byl na témže blogu zveřejněn známý obrázek:

Test Acid 2

Test Acid 2 v Internet Exploreru 8. Obrázek byl převzat z IEBlogu.

Ačkoliv funkční IE8 v té době nikdo stále ještě neviděl, bylo jasné, že v podpoře webových standardů IE udělal řádný krok kupředu (několikanásobně větší, než jej udělal IE7) a sklidil tenkrát nemalou chválu.

Nový zobrazovací mód v pořadí třetí

Krátce nato se objevila další zpráva. IE8 bude obsahovat nový zobrazovací mód a veškeré webdesignerské novinky se budou týkat pouze tohoto módu (testem Acid2 tedy projde pouze v tomto novém módu). Tento krok naopak sklidil rozporuplné reakce.

IE8 tak bude obsahovat 3 zobrazovací módy: quirks, standardní mód (stejný jako u IE7) a nový standardní mód (IE8 mód).

Podpora webových standardů (hlavně CSS 2.1) je v IE8 oproti jeho předchůdcům mnohem lepší. Což ovšem také znamená, že řada webů, které různými způsoby obcházely problémy IE6 a IE7, by se v IE8 nezobrazila správně.

Historie se opakuje

To není pro historii prohlížečů nic nového. Na přelomu století, kdy ve webových prohlížečích sílila první podpora kaskádových stylů, musely všechny prohlížeče zavést nový zobrazovací mód (ten původní byl pojmenován quirks, novému se začalo říkat standardní mód), aby se vyhnuly situaci, kdy nová verze prohlížeče špatně zobrazí řadu webů. (V takové situaci se říká, že prohlížeč rozbil web, protože z pohledu webdesignéra jím vytvořený web funguje dobře, to pouze kvůli novému prohlížeči jej uživatelé vidí rozbitý.) Výrobci prohlížečů tenkrát neměli moc na vybranou, konkurenční boj zuřil (viz graf výše) a vydat novou verzi, která by rozbila web, to by pro prohlížeč mohlo znamenat vážnou ránu.

Podobná situace se již dlouho neopakovala (až na jednu drobnou výjimku v roce 2002). Ačkoliv každý výrobce prohlížečů zlepšuje podporu webových standardů a občas tím i něco málo skutečně rozbije, nikdy nebyla mezi dvěma verzemi po sobě změna natolik skoková, aby se rozbila velká část webu. Až do příchodu IE8, ve kterém by bez patřičných úprav řada webů skutečně nefungovala. Vývojáři IE8 to ovšem předvídali, a proto v IE8 vedle obou původních zobrazovacích módů (quirks a standard) a najdeme i mód třetí („nejstandardněj­ší“). Celá magie pak již spočívá v tom, jak vyvolat ten správný mód, ve kterém bude daný web fungovat.

Ostatní prohlížeče k vyvolání jednotlivých módů používají doctype, případně MIME typ dokumentu. V IE8 si navíc můžete chování z pozice autora webu vynutit pomocí meta tagu nebo HTTP hlavičky s názvem X-UA-Compatible. Ta může nabývat hodnot odpovídající verzi prohlížeče, jehož standardní mód má vynutit (např. IE=8 nebo IE=7), případně speciálních hodnot IE=edge (značící automaticky nejnovější mód prohlížeče) nebo IE=EmulateIE7 (zajistí zapínání quirks nebo standardního módu přesně, jak to činil IE7).

Někteří odborníci ovšem varují, že na rozdíl od historického zavedení quirks módu, se kterým dodnes občas webdesigneři zápasí, mohou IE-módy způsobit větší škodu, právě proto, že jsou vázány na konkrétní verzi prohlížeče a tudíž budou na věky zakonzervovány. To nebyl případ původního quirks módu, který obsahoval seznam odchylek od standardního módu prohlížeče, ale nadále se vyvíjel (tudíž podpora nových webových standardů se s další verzí prohlížeče objevila jak v standardním módu, tak v quirks módu). Je proto možné, že zatímco dnes webdesigneři nový systém módů v IE často vítají, tak další generace za deset let bude tento systém zplna hrdla proklínat.

K TÉMATU: Novinky pro vývojáře v Internet Exploreru 8

Jak ověřit, v kterém módu se vaše stránky zobrazují?

Zobrazte si vaši stránku v IE8, spusťte vývojářskou konzoli (klávesa F12 nebo nabídka Tools – Developer Tools) a podívejte se do pravé horní části okna.

Developer Tools

Najdete tam dva ukazatele. Pro vás je důležitý Document Mode napravo, který říká, ve kterém zobrazovacím módu se aktuálně zobrazená stránka nachází.

Může nabývat hodnot: Quirks mode, IE7 Standards nebo IE8 Standards.

Podle něj poznáte, v jakém módu se vaše stránka vykresluje (ať již k volbě módu došlo na základě Doctype, meta tagu nebo HTTP hlavičky). Pokud si chcete vyzkoušet, jak by se vykreslovala v dalších módech, stačí tuto hodnotu přepnout a počkat na překreslení stránky (k přepnutí dojde jen dočasně, tj. hodí se pro účely ladění webů).

Ukazatel nalevo (Browser Mode) není pro testování stránek tolik důležitý. Netýká se toho, v jakém jakém módu se zobrazuje stránka, ale v jakém módu právě funguje prohlížeč. Říká, podle jakých pravidel se nyní bude prohlížeč rozhodovat mezi jednotlivými zobrazovacími módy (ano i toto rozhodování se může v IE8 měnit!). Browser Mode může nabývat třech hodnot: IE8 (výchozí volba – prohlížeč se rozhoduje jako IE8), IE8 Compatibility View (v prohlížeči byla zapnuta volba Compatibility View, viz dále) nebo IE7 (prohlížeč se chová jako IE7 – v tomto případě jsou dostupné jen dva zobrazovací módy Quirks a IE7 Standards, můžete jej např. použít, pokud chcete v IE8 testovat pro prohlížeč IE7).

Compatibility View

Módy si může přepnout i uživatel. Pokud si v IE8 otevřete Zdroják, bude Document Mode IE8 Standards (čili nový standardní mód), Browser Mode má výchozí hodnotu IE8. V případě, že by uživatel viděl web rozbitý, může použít tlačítko Compatibility View (jedná o jakési tlačítko poslední záchrany, které se pokusí zobrazit web ve starším módu prohlížeče):

Compatibility View

Po zapnutí Compatibility View se Browser Mode přepne na hodnotu IE8 Compatibility View, stránka je znovu nahrána a jako nový Document Mode je vyhodnocen IE7 Standards (tudíž standardní mód z IE7, pro který bude řada webů odladěna).

Zmíněné tlačítko Compatibility View má sloužit jako poslední záchrana i málo používaných webů, které jejich autoři pravděpodobně nebudou aktualizovat. Ovšem existují i známé weby, které se v IE8 rozbijí (jedná se např. Facebook, Myspace nebo CNN.com). IE8 proto bude obsahovat seznam nekompatibilních webů, na kterých zapne Compatibility View automaticky za uživatele. Tento seznam se bude aktualizovat pomocí aktualizačního systému Windows.

Sami vidíte, že zpoždění se někdy nevyplácí. Pokud by Microsoft po vydání IE6 vývoj Internet Exploreru neukončil, mohl si řadu starostí ušetřit.

Českou verzi Internet Exploreru si můžete stáhnout ze Slunečnice.

Pokračování příště

S dalšími novinkami Internet Exploreru 8 vás seznámíme v některém z dalších dílů.

Vítáte nový mód IE8?

Vystudoval jsem biochemii. Vymyslel jsem a založil Zdroják. Jsem vyhlášeným expertem na likvidaci komentářů. Nejsem váš hodný tatínek, který vás bude brát za ručičku, já jsem zlý moderátor diskusí. Smiřte se s tím!

Věděli jste, že nám můžete zasílat zprávičky? (Jen pro přihlášené.)

Komentáře: 27

Přehled komentářů

v6ak Ukončení vývoje starého režimu: není to dobře?
David Majda Re: Ukončení vývoje starého režimu: není to dobře?
luboskmetko Re: Ukončení vývoje starého režimu: není to dobře?
David Majda Re: Ukončení vývoje starého režimu: není to dobře?
Martin Hassman Re: Ukončení vývoje starého režimu: není to dobře?
ToM Re: Ukončení vývoje starého režimu: není to dobře?
Martin Hassman Re: Ukončení vývoje starého režimu: není to dobře?
luboskmetko Re: Ukončení vývoje starého režimu: není to dobře?Re: Ukončení vývoje starého režimu: není to dobře?
dev Re: Ukončení vývoje starého režimu: není to dobře?Re: Ukončení vývoje starého režimu: není to dobře?
Martin Hassman Re: Ukončení vývoje starého režimu: není to dobře?Re: Ukončení vývoje starého režimu: není to dobře?
Štěpán Bechynský Re: Ukončení vývoje starého režimu: není to dobře?
Martin Hassman Re: Ukončení vývoje starého režimu: není to dobře?
v6ak Re: Ukončení vývoje starého režimu: není to dobře?
Aichi mikroformáty
Martin Hassman Re: mikroformáty
kkl2401 XHTML
dev Re: XHTML
alancox Re: XHTML
Jan Tvrdík Re: XHTML
alancox Re: XHTML
Oldřich Šmehlík Re: XHTML
alancox Re: XHTML
Keff Trh začal fungovat? Ne,fungoval celou dobu!
AHA Re: Trh začal fungovat? Ne,fungoval celou dobu!
Jarmil Re: Trh začal fungovat? Ne,fungoval celou dobu!
AHA Re: Trh začal fungovat? Ne,fungoval celou dobu!
Jarmil Re: Trh začal fungovat? Ne,fungoval celou dobu!
Zdroj: https://www.zdrojak.cz/?p=2927