Internet Explorer 8 – jste připraveni?


Nebude trvat dlouho a přijde Beta2 nové verze Internet Exploreru. Tentokrát s číslem 8 (IE8). Přinese mnohá pozitiva, novinky a také trochu práce... IE8 se totiž snaží důsledně dodržovat standardy (interoperabilita vládne IT světu) a podle toho také zobrazuje jednotlivé stránky. Jenže tady narážíme na drobnou komplikaci. Ne všechny weby standardy dodržují a tudíž se zobrazení nemusí zrovna vyvést v celé kráse. Ve zkratce řečeno, velká část webů v IE8 nebude s nejvyšší pravděpodobní zobrazena správně.

Abyste se jako tvůrci stránek, popř. správci serverů vyhnuli možným problémům, je nutno udělat dva zásadní kroky. Buďto upravit web tak, aby byl v souladu se standardy a tudíž byl zobrazen správně, anebo použít režim emulace.

IE8 totiž umí emulovat rendering verze IE7 a je tedy schopen zobrazit web správně i v případě, že v nativním režimu stránka nefunguje. Co pro to musíte udělat?

Microsoft nabízí řešení v podobě metaznaku X-UA-Compatible, který může být použit několika způsoby a v několika režimech (viz tabulka níže):

  • je umístěn přímo v HTML kódu webu či stránky
  • je nastaven na serveru ve vlastnostech webu či celého webového serveru

Návod pro použití přímo v kódu, popř. pro nastavení webového serveru IIS najdete v publikovaném KB článku na adrese http://support.microsoft.com/kb/952030.

Pro správce serverů Apache 2.2 je orientační návod níže. Podotýkám, že je nutno nastavení vždy otestovat, než je vpuštěno do produkčního prostředí.

Nastavení response headeru na serveru

  • Otevřete httpd.conf (či jiný konfigurační soubor) v textovém editoru
  • Přidejte/odkomentujte “LoadModule headers_module modules/mod_headers.so”
  • Přidejte následující konfigurační sadu na konec souboru httpd.conf

<IfModule headers_module>
Header set X-UA-Compatible: IE=EmulateIE7
</IfModule>

  • Uložte httpd.conf, restartujte Apache

Nastavení response headeru v adresáři

  • Otevřete httpd.conf (či jiný konfigurační soubor) v textovém editoru
  • Na zvolený adresář (v příkladu ie8test) nastavte override:

<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/ie8test">Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>

(Pozn.: AllowOverride All přikazuje server číst soubor .htaccess v daném adresáři)

  • Vytvořte v adresáři soubor .htaccess
  • Otevřete soubor .htaccess a zadejte následující:

<IfModule headers_module>
Header set X-UA-Compatible: IE=EmulateIE7
</IfModule>

  • Uložte soubor, restartujte Apache

Výše uvedené příklady definují chování IE8 tak, aby emuloval renderování starší verze IE7. Nicméně daným metaznakem můžete IE8 donutit k dalším odchylkám od jeho nativního chování:

Response headerHodnotaPopis
X-UA-CompatibleIE=5Renderuje obsah v nativním IE5 režimu
X-UA-CompatibleIE=7Renderuje obsah v nativním IE7 režimu, ovšem ignoruje <!DOCTYPE>
X-UA-CompatibleEmulateIE7Jako IE7 + se řídí při renderování obsahu direktivou <!DOCTYPE>
X-UA-CompatibleIE=8IE8 nativní renderovací režim

Více informací o kompatibilitě najdete na MSDN stránce Defining Document Compatibility.

Protože tento článek nepojme veškeré aspekty přicházejícího IE8, určitě doporučujeme další zdroje informací, kde najdete fakta a doporučení. Ať už pro vývoj, zabezpečení anebo přehled funkcí:

- KFL

Comments (6)

  1. Martin says:

    MS asi preskocilo. Jako vtip dobry, jake realita smutna ukazka ztraty soudnosti……

  2. N3o21 says:

    Proč MS nevezme WebKit, a nenalepí kolem něj vlastní UI? Nebylo by to jednodušší a kompatibilnější?

  3. Premek 'Mr.Gentleman' V. says:

    IE7 používám jako primární prohlížeč. S rozšířením IE7Pro, které překládám do češtiny mi v něm nic podstatného nechybí. Ovšem s IE8 jsem zatím měl negativní zkušenost. Já vím, že je to zatím jen Beta1, ale přeci jen – pokud je proklamováno dodržování standardů a standardní web, který funguje úplně stejně ve všech ostatních prohlížečích včetně IE6 a 7 má v IE8 rozhozený layout, tak asi není vše úplně v pořádku ;). Viz.: http://djsnail.bloguje.cz/671762-ie8-a-podpora-standardu-hin-sa-ukaze.php

  4. KFL-MS says:

    Premek> Je to Beta1 a je znamo, ze ta ma obcas problem zobrazit spravne cokoliv. Pockejme na Beta2, treba to bude lepsi :).

  5. Premek 'Mr.Gentleman' V. says:

    Já vím, že je to Beta 1 a jsem si vědom co z toho plyne. V odkazovaném článku jsem se jen pozastavoval nad tím, že hlavní proklamovanou devizou IE8 je podpora standardů, což se tvrdilo už u první bety. Ovšem jak je patrné, tak ta podpora ještě v této fázi není stoprocentní. Já sám osobně doufám, že ve finální verzi bude vše dotaženo do konce a budu moci IE nadále spokojeně používat i v nové verzi ;).

  6. Anonymous says:

    Radim &gt; Toto úterý mi udělal radost náš
    http://www.live.com/?scope=web&amp;mkt=en-US svým aktuálním

Skip to main content