PNG e o infame Internet Explorer

Diversas pessoas escreveram sobre isto em seus blogs, a começar por alguns gringos e depois os brasileiros. Mesmo assim, considerando a utilidade que este código teve pra mim, não acho que seja demais postar minha própria versão sobre este script em meu próprio site. Confesso que não o usei muitas vezes, mas quando foi necessário, foi perfeito.

Todos sabem que o PNG não pegou como formato de imagem para web em grande parte por causa do Internet Explorer ( MSIE ), aliás, pela incapacidade do MSIE em interpretar a camada alfa do PNG. Outros browsers interpretam esta camada já á muito tempo mas o MSIE até hoje ignorou isto. Quem sabe a versão 7.0 não se redime?

O código, baseado em um artigo de Michael Lovitt, se aproveita de uma falha do MSIE (isso mesmo, este Java script é um tipo de hack!) e o força a interpretar a bendita camada alfa do PNG, permitindo assim que se utilizem imagens com transparências esmaecidas que o gif não é capaz de fazer.

O java script pode ser salvo externamente e linkado no XHTML pela seguinte linha entre as tags <head>:

<script type="text/javascript" src="pngfix.js"></script>

Desta maneira, todas as imagens inseridas no código serão interpretadas pelo Internet Explorer com sua devida transparência.

Prós:

-É ignorado pelos outros browsers que não seja o MSIE, e não atrapalha em nada.

– Não é empecilho para validação pela W3C e funciona perfeitamente com doctype Strict.

Contra:

– Não funciona para se inserir pngs como backgrounds em css.

Referência: http://homepage.ntlworld.com/bobosola/

Para baixar o Arquivo clique aqui! Minha versão ficou desatualizada, você encontra uma versão mais atual aqui

Ainda sobre o MSIE, diversas pessoas criticam e menosprezam o infame browser. Que seja fato que ele é o pior dentre os disponíveis gratuitamente, ninguém com um pouco de experiência em web pode negar. O Internet Explorer é um browser infame não é à toa, ele é realmente o pior! Possuiu diversos bugs, é instável, tem problemas até considerados "clássicos" como o Box Model, interpreta CSS de um modo arcaico e por aí segue a lista. Mas ao mesmo tempo eu acho muito contraditório, diversos desenvolvedores web ignorarem completamente o MSIE. Eles alegam que o browser é ruim, tem erros e blá blá blá, e que não devem pensar nele em tempo de desenvolvimento. Pensam apenas nos "browsers webstandards". Não entendo como ainda estão empregados os que assim pensam (se é que os que dizem isso realmente estão empregados). O Internet Explorer ainda possuiu cerca de 90% dos usuários na web, eu goste disso ou não. Por mim, o primeiro browser do mercado seria o Mozilla! Mas isso não é fato.

Então, não adianta se esconder: se você desenvolve para web, você tem que pensar em Internet Explorer , sempre! Procuro encontrar as melhores soluções, hacks válidos e aceitos pela W3C, scripts como este para utilizar png e por aí vai. Se um empresário está procurando um webdesigner para fazer o site de sua empresa, e se ele acessar o seu site do Internet Explorer e "der pau", você acha que ele vai se sensibilizar com sua opiniã o"sobre browser de verdade" e investir grana em um produto acessível apenas a 10% dos usuários da internet? Isso nunca vai acontecer. Devemos procurar soluções que minimizem ao máximo o uso de recursos limitados apenas a um tipo de browser, é claro. Devemos pensar em acessibilidade, multi-plataformas e diversos dispositivos móveis se possível. Devemos pensar no Ópera, Nestscape, Firefox e no maldito Internet Explorer. Se eu uso Internet Explorer? É claro que sim. Eu desenvolvo sites e aplicações para a web constantemente, assim como eu utilizo os outros 3 navegadores.

Se continuarem a pensar que devem esquecer o Internet Explorer, acabarão sendo esquecidos mesmo com grandes macetes de webstandards na manga, e o máximo que conseguirão, será serem respeitado por um pequeno punhado de pobres geeks!