kminek.pl

Zapomnieć o DOCTYPE ?

28 Jan, 2008  |  Kminek Blog

Zbliżający się powoli Internet Explorer 8 ma wspierać zupełnie nową metodę określania trybu renderowania strony przez przeglądarkę. Informacja ta została niedawno podana na [1] oficjalnym blogu IE. Nowa metoda ma pomóc w „bezbolesnym” wejściu na rynek 8 wersji Explorera z gruntownie przepisanym silnikiem renderującym, który pozytywnie przeszedł sławny test [2] Acid2.

Równanie jest proste: nowy engine = nowe kłopoty, zwłaszcza ze starymi stronami. Wprowadzając nową metodę Microsoft chce uniknąć błędu, jaki miał miejsce w momencie premiery IE7, kiedy to wiele stron internetowych „rozsypało się” w nowej przeglądarce.

Nowa koncepcja jest prosta i polega na powiązaniu strony z konkretną wersją i zachowaniem silnika renderującego przeglądarki (ang. browser version targeting). Najlepiej zilustrować ją można za pomocą następującego przykładu:

Cofnijmy się w czasie i wyobraźmy sobie, że dokładnie za godzinę we wszystkich komputerach na świecie wyposażonych w system operacyjny Windows dokona się automatyczna aktualizacja przeglądarki IE6 do IE7. Oczywiście strona, którą się opiekujemy wyświetla się i działa poprawie pod IE6. Przeglądarka jest bowiem już 5 lat na rynku i mieliśmy wystarczająco dużo czasu, aby poznać i zaimplementować sporo tricków, hacków i innych obejść zapewniających jej prawidłowe działanie. Niestety – jak zwykle obudziliśmy sie rychło w czas i nie przetestowaliśmy jej w IE7. Teraz została niecała godzina i pewnym jest, że nie zdążymy już tego zrobić.

Dzięki nowej metodzie powyższa sytuacja nie musi skończyć się katastrofą. Wystarczy, że w sekcji <head> naszej strony umieścimy następującą deklarację:

  1. <meta http-equiv="X-UA-Compatible" content="IE=6" />

a IE7 wyświetli naszą stronę w identyczny sposób w jaki zrobiłby to IE6 – inaczej mówiąc – skorzysta z trybu renderującego IE6 (oczywiście czysto teoretycznie zakładamy, że IE7 wyposażony jest w mechanizm, o którym mowa).

A co jeśli na naszym serwerze znajduje się kilkaset innych stron, które również chcielibyśmy uchronić przed nadchodzącym IE7? Wystarczy prosta zmiana w konfiguracji serwera WWW i dodanie odpowiedniego nagłówka HTTP:

  1. X-UA-Compatible: IE=6;

W sytuacji, gdy chcemy, aby strona renderowana była zawsze przez najnowsza wersje silnika przeglądarki nasza deklaracja powinna przyjąć następującą formę:

  1. <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <!--deklaracja jest juz nieaktualna-->

Zgodnie z [3] informacją podaną na oficjalnym blogu IE, domyślnie IE8 będzie renderował strony w trybie zgodności ze standardami wykorzystując najnowszą wersję silnika renderującego. Powrót do trybu renderującego z IE7 możliwy będzie poprzez deklarację meta, o której mowa była na początku.

Co zyskujemy dzięki takiemu podejściu do wyboru trybu renderowania strony?

Tyle teoria. Jak ten pomysł wyjdzie w praktyce? Przekonamy sie wraz z nadejściem IE8.

-----

Wydrukowano z: https://www.kminek.pl/zapomniec-o-doctype/

Lista adresów URL występujących w tekście:

© 2007-2024 kminek.pl