Scott Tiger Tech Blog

Blog technologiczny firmy Scott Tiger S.A.

Internet Explorer a standardy WWW

Autor: Piotr Karpiuk o wtorek 30. Listopad 2010

Z punktu widzenia webmasterów, w świecie przeglądarek Microsoft Internet Explorer stanowi osobną klasę abstrakcji. Pomimo nonszalanckiego podejścia do kwestii standardów nie da się go zignorować, bo wciąż jest przeglądarką której udział w rynku oscyluje w okolicach 40% a jeszcze w 2003 roku miała przeszło 95%.

Wersja 6 która była prawdziwym hitem w czasach gdy się pojawiła, stała się piekłem dla webmasterów. Gdyby z książek dotyczących webmasterki usunąć wszystkie odniesienia do dziwactw tej jednej tylko wersji przeglądarki, zapewne zmniejszyłoby to objętość tych książek o zauważalnych kilkanaście procent. Istnieją całe serwisy WWW, takie jak www.positioniseverything.net, które niemal w całości poświęcone są niuansom mechanizmu renderującego MSIE i ich obejściom.

Kolejne wersje MSIE coraz lepiej równają do standardów takich jak HTML czy CSS, a szybkość działania interpretera JavaScriptu poprawia się o rzędy wielkości. Jak ujął to John Allsopp w książce Tworzenie serwisów WWW. Standardy sieciowe, „Dzień, w którym MSIE 8 stanie się podstawową wersją IE, będzie momentem zwrotnym w życiu profesjonalnych twórców serwisów WWW”.

Quirks mode

Gdyby w 1999r. w MSIE 5 zastosowano metodę renderowania stron WWW ściśle zgodną ze standardami, ogromna większość z dostępnych w owym czasie serwisów byłaby wyświetlana nieprawidłowo. Wprowadzono więc koncepcję dwóch trybów renderowania: trybu standardów (ang. standards mode) oraz trybu niestandardowego (ang. non-standards mode), zwanego również trybem dziwactw (ang. quirks mode) w którym przeglądarka próbuje naśladować wadliwy sposób renderowania stosowany w starszych wersjach IE.

Tryb dziwactw włącza się poprzez niezastosowanie deklaracji DOCTYPE lub użycie DOCTYPE bez odpowiedniego ciągu URL. Ponadto jeśli cokolwiek (np. komentarz) poprzedza deklarację DOCTYPE, IE 6 zastosuje tryb dziwactw.

Komentarze warunkowe

W kodzie HTML można umieszczać komentarze warunkowe które są ignorowane przez wszystkie przeglądarki z wyjątkiem MSIE:

  <!--[if IE 6]>
    <link rel="stylesheet" type="text/css" href="ie6style.css">
  <![endif]-->

Dozwolone są również wyrażenia w rodzaju [if gt IE 6], [if lte IE 6], itp.

Łaty

Biblioteki JavaScriptu pozwalają zasypywać różnice między przeglądarkami i ukrywać szczegóły implementacyjne. Rozpaczliwa tęsknota deweloperów aplikacji webowych za tworzeniem jednego kodu – bez rozgałęzień – dla wszystkich przeglądarek, zaowocowała powstaniem szeregu popularnych bibliotek które „łatają” MSIE tak aby zachowywał się bardziej standardowo.

Przykłady takich bibliotek:

  • ie-7.js – uzupełnia braki w implementacjach standardów CSS i HTML,
  • HTML4Shiv – sztukuje MSIE na okoliczność HTML5,
  • ExCanvas – symuluje element canvas (MSIE 9 będzie miało już natywną obsługę tego elementu),
  • SVG Web – pozwala używać SVG pod MSIE,
  • Raphael – grafika wektorowa z jednolitym interfejsem dla wszystkich przeglądarek,
  • Sizzle

Ponadto Google Chrome Frame jest opensource’owym pluginem który rozszerza możliwości Internet Explorera w zakresie obsługi otwartych technologii webowych (np. canvas) i zwiększa wydajność interpretera JavaScriptu.

Świetlana przyszłość

Dostępny już do pobrania Internet Explorer 9 Beta oferuje zdumiewającą zgodność ze standardami. W najnowszym teście Acid3 otrzymuje 95 punktów na 100!

Share and Enjoy:
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Śledzik
  • Blip
  • Blogger.com
  • Gadu-Gadu Live
  • LinkedIn
  • MySpace
  • Wykop

Zostaw komentarz

XHTML: Możesz użyć następujących tagów: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>