Posiadanie różnych wersji IE na tym samym profilu nie jest zbyt fajnym rozwiązaniem. Przykładowo IE6 potrafi sobie przejąć część zachowań z IE8, lub innymi słowy mówiąc to IE8 wkrada się w silnik IE6 przez co przeglądarka czasami zachowuje się w sposób nieobliczalny.
Przykładowo: chcę dołączyć (w komentarzu warunkowym) arkusz styli przeznaczony tylko i wyłącznie dla IE6 (lub niższych). W kodzie wszystko jest poprawnie zapisane, a moje IE jakimś cudem nie łapie zmian. Okazało się, że musiałem zmodyfikować komentarz warunkowy na:
<!--[if lte IE 8]><link rel="stylesheet" type="text/css" href="css/ie6.css" /><![endif]-->
Po tym triku nasz arkusz zostaje załączony. Wychodzi na to, że IE6 renderuje całość wg swoich kryteriów, natomiast identyfikuje się jako IE8. Sprawa trochę kłopotliwa gdyż wprowadza trochę problemów podczas pisania kodu. Można to obejść, lecz trzeba pilnować aby przed wystawieniem na produkcję poprawić ten komentarz warunkowy.
Zamiast instalować kolejne wersje IE można skorzystać z aplikacji IETester. Program oferuje odpalenie dowolnej strony przy pomocy jednej z wersji IE. Razem z nim jest zainstalowany Debug Toolbar, który potrafi być bardzo przydatny. Wadą tego programu jest to, że czasami potrafi w zadziwiający sposób wyświetlać niektóre strony przez co ciężko jest poprawiać jakiekolwiek błędy.
Myślę, że to najwyższa pora przyłączyć się do frontu likwidacji IE6 =)
4 Komentarze
Hm, od jakiegoś czasu przestałem hackować swoje produkcje, żeby chodziły pod IE6. Tak po cichu. Szef nie protestował. Klienci nie protestowali. Znakiem tego – chyba IE6 można zacząć sobie powoli darować. Myślę sobie, że zrobiłem trochę nieelegancko – jak ktoś mimo wszystko odpali moją produkcję pod IE6 może zobaczyć niezłą sieczkę albo i zgoła nic. Myślę, że trzeba po prostu wrzucać info odpalane na IE6, że strona nie obsługuje tej przeglądarki i już. Moich kilka ostatnich komercyjnych stron w praktyce pod IE6 nie chodzi. Nikt na mnie nie krzyczy :) Gdyby tak jeszcze IE7 można było sobie darować, byłby to już pełen luksus.
A można też przestać używać hacków i pisać css w 100% zgodny :)
“Zgodny” to pojęcie względne. Zgodny z IE6, IE7, FF czy z ogólno-przyjętymi zasadami ISO? Niestety – albo trzeba wybierać albo czasami hackować :)
Z szczegółów IETester nie do końca odzwierciedla silniki przeglądarek i można zauważyć błędy. Jak testować to na oddzielnych instalacjach np za pomocą xp mode dla win7 (dla nie wtajemniczonych: http://www.microsoft.com/windows/virtual-pc/download.aspx )