E ai pessoal! Bom eu tive um problema no meu site, que só fui constatar a pouco tempo. Eu contrui ele usando somente arquivos png, pela possibilidade de usar um canal alpha suavisado, diferente do gif que gera um alpha todo cerrilhado.
A questão é que somente o internet explorer 7 lê esse canal alpha as versões anteriores não entendem. Navegadores como o mozila, fire fox... já lêem esse formato a muito tempo.
Eu até achei estranho quando algumas pessoas me falaram que o site estava "branco" e difícil de ler... e ai eu não entendia, pô, branco??? mas o fundo é todo em azul... Só fui descobrir o que era quando abri ele em um IE mais antigo. :S
Bom vou deixar aqui a dica de como resolver esse problema:
A solução é muito simples, tem que se utilizar um javascript para fazer com que as versões antigas do IE leiam o canal alpha do png, e esse java não vai interferir em outros navegadores que já entendem o formato.
Na página html deve ser colado esse código dentro das tags head:
<!--[if lt IE 7.]>
<script defer type="text/javascript" src="pngfix.js"></script>
<![endif]-->
Esse código vai fazer com que a página carregue informações de um arquivo externo chamado
pngfix.js . Portanto agora tem que se criar esse arquivo javascript, use o bloco de notas, depois é só trocar a extenção do arquivo de txt pra js. Ou baixe o arquivo
AQUI
var arVersion = navigator.appVersion.split("MSIE")
var version = parseFloat(arVersion[1])
if ((version >= 5.5) && (document.body.filters))
{
for(var i=0; i<document.images.length; i++)
{
var img = document.images[i]
var imgName = img.src.toUpperCase()
if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
{
var imgID = (img.id) ? "id='" + img.id + "' " : ""
var imgClass = (img.className) ? "class='" + img.className + "' " : ""
var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
var imgStyle = "display:inline-block;" + img.style.cssText
if (img.align == "left") imgStyle = "float:left;" + imgStyle
if (img.align == "right") imgStyle = "float:right;" + imgStyle
if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
var strNewHTML = ""
img.outerHTML = strNewHTML
i = i-1
}
}
}
Obs.: Todas as páginas que tiverem arquivos png tem que ter o código de carregamento dentro das tags head.
Para mais informações:
http://homepage.ntlworld.com/bobosola
Para quem não conhece todas as vantagens do formato png> http://pt.wikipedia.org/wiki/PNG
Site com erro:
Site corrigido: