Blog webdeveloperski Patryk yarpo Jar

Komentarze warunkowe w IE

Autor wiadomości Listopad 21, 2010

Internet Explorer nie jest moja ulubiona przeglądarką, i to niezależnie od tego, o której wersji mówimy. Głównie dlatego, że jest bardzo "swoista". Sami autorzy tego programu wiedzą o tym (czasem chyba nawet się tym szczycą) i pozwalają developerom na specjalne hacki.

IE lubi coś robić inaczej. Jednak - co dobre - większość z jego dziwactw jest stała. tzn. za każdym razem działa w ten sam - błędny - sposób. Dzięki temu można stwierdzić: "Ej, zaraz! Jakbym tylko mógł zrobić osobny kod dla IE!". Odpowiedź: "Możesz!".

Kod widziany tylko dla IE

<html>
<body>
    <!--[if IE]>To będzie widoczne tylko w przeglądarkach z rodziny IE<![endif]-->
</body>
</html>

Możesz spróbować. Powyższy kod nie będzie widoczny w przeglądarkach*. Natomiast w każdej przeglądarce producentów Windowsa, zostanie wyświetlony tekst. Oczywiście można tam wyświetlić np. coś takiego:

<html>
<body>
    <!--[if IE]>
    <script type="text/javascript">
        window.location = 'http://www.firefox.pl';
    </script>
    <![endif]-->
</body>
</html>

Ot, taki żarcik :). Częściej jednak stosuje się to do wykonywania użyteczniejszych fragmentów kodu, jak np. kanał alpha w png czy załączenie specjalnego arkusza stylów css.

Rozpoznawanie wersji

Komentarze warunkowe potrafią tez być przydane, gdy chcemy zrobić coś jedynie dla konkretnej wersji IE.

<!--[if IE 6.0]>
Internet Explorer 6.0
<![endif]-->

<!--[if IE 6]>
Internet Explorer 6.0
<![endif]-->

<!--[if IE 5.5]>
Internet Explorer 5.5
<![endif]-->

<!--[if !IE 8]>
Internet Explorer w innej wersji niż 8
<![endif]-->

<!--[if lte IE 6]>
Internet Explorer 6 i wcześniejsze wersje (less than or equal, czyli =< )
<![endif]-->

<!--[if gt IE 8]>
Internet Explorer 8 i nowsze (greater than, czyli >)
<![endif]-->

Tym sposobem IE, a w szczególności IE 6 jest mniej straszny. Choć oczywiście istnieje wiele sposób mniej "inwazyjnych". Warto pogooglować. Ten jest za to najprostszym i najpewniejszym spośród wszystkich mi znanych hacków.

--
IE wcześniejsze niż 7, trudno dzisiaj w ogóle nazwać przeglądarką 😉

Komentarze (0) Trackbacks (0)

Brak komentarzy.


Leave a comment

 

Brak trackbacków.