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ę:
|
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:
|
W sytuacji, gdy chcemy, aby strona renderowana była zawsze przez najnowsza wersje silnika przeglądarki nasza deklaracja powinna przyjąć następującą formę:
|
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-2025 kminek.pl