[JavaScript/PHP] Przezroczyste pliki PNG w Internet Explorer 6

Data dodania wpisu: 26-05-2010

Hacków dla kIEpskiej przeglądarki (to w ogóle przeglądarka?) jest wystarczająco dużo, żeby przetestować wybrać taki, który sprosta wymaganiom tego badzIEwu. Nierzadko jednak trzeba skapitulować i majstrować przy obrazkach.

Jeśli chodzi o skrypty, hacki itp.:

PNG in Windows IE - wszystko w źródle strony

CrossBrowser PNG Opacity - do poczytania i testowania

IEPNGFix

PNGBehaviour

Poza robieniem w konia IE, można przygotować obrazki w dwóch wersjach: PNG i GIF, z odpowiednim kanałem alpha, ale wiadomo, jak wygląda poszatkowany GIF. Jeśli zaś nie wygląda aż tak strasznie, można zastosować metodę wypluwania plików o odpowiednim rozszerzeniu po HTTP_USER_AGENT pisząc prosty skrypt w PHP:

<?php
$isIE = false;
if(eregi("MSIE 6.",$_SERVER['HTTP_USER_AGENT']) || 
eregi("MSIE 5.",$_SERVER['HTTP_USER_AGENT']))
 $isIE = true;
?>
<img alt="obrazek do ijeeeee" src="przezroczysty.<?php echo $isIE ? " />

Po prostu sprawdzamy, czy przeglądarka usera należy do rodziny badzIEwnych (6.0, 5.5, starszych nie wymieniam). Jeśli tak, to ustawiamy wartość zmiennej isIE na true i przy wyświetleniu obrazka, jeśli ogladamy stronę w IE to wywalamy plik z rozszerzeniem GIF, a jeśli używamy porzadnej przeglądarki, to otrzymamy ładnego PNG.

 

EDIT, 21.07.2010:

We wpisie o zaokrąglonych rogach w każdej przeglądarce poinformowałem o wynalazku niejakiego Drew Dillera, który napisał skrypt w JavaScript do tworzenia zaokrąglonych rogów dla elementów HTML w kazdej dostępnej przeglądarce - nawet tej badzIEwnej;)

Również ten gościu napisał skrypt, który jako chyba jedyny umożliwia utrzymanie przezroczystych plików PNG w każdej przegladarce:) Cały opis wraz z przykłądami można znaleźć na stronie twórcy, Drew Dillera - dillerdesign.com.

Komentarze

Tego szukałem :) dzięki za art.
Comments closed...