25th set 2009
O POG nosso de cada dia #15
Faz tempo que não faço um post sobre POGs: não que eles não estejam aocntecendo mais, mas é uma mistura de falta de tempo com complexidade absurda que os POGs têm alcançado ultimamente por aqui :-/
Mas, para não deixar essa categoria passada, vou resgatar um post que fiz nO Desenvolvedor no final do ano passado…
O problema
Já ouviu falar em image flickering?
Até semana passada o final do ano passado, eu não. Mas certamente, assim como eu, você já viu acontecer: links com imagem de fundo que, quando você passa o mouse por cima, perdem o background. No lixo do IE6.
Eu não sabia que tinha um nome bonito. Por exemplo, essa classe CSS aqui daria problema:
.someClassName {
background:#AABBCC url(someBackGroundImage.gif) repeat-x;
}
Pelo que entendi do assunto, essa é uma questão relacionada a como o browser (não que o IE6 seja um browser, mas vamos lá…) faz cache das imagens.
Existem várias soluções para esse problema – sim, é um problema ao meu ver, e não uma propriedade do browser. De uma googlada e veja que há várias técnicas.
Uma delas seria não usar imagens de background em links. Outra, colocar uma div (ou algum outro elemento) em volta do link e usar background nela.
FAIL para ambos.
Mudar a sua marcação html por causa do IE6 não faz sentido; é um browser antigo, que não segue padrão algum, que vem caindo em desuso.
O POG
Existe um fix para isso que funciona bem em qualquer IE6.
Dentro do head do seu html, coloque o javascript:
<script type=”text/javascript”>
try {
document.execCommand(“BackgroundImageCache”, false, true);
} catch(err) {}
</script>
Esse script tenta fazer com que o browser use as imagens salvas no cache da máquina.
Funciona belezinha, está testado, homologado e em produção há meses, numa boa.

Belo post. Não entendo lhufas dos códigos que escreveu, mas foi tão bem escrito que não me senti burro, hahaha. Mas sério, interessante. Eu só não riscaria o “lixo do” em referência ao IE6. Abs!
Eu charia isso de artificio hehe
Chamaria*
Grande!
Este era um dos motivos de eu não usar isto. BG em links.
¿ este script afeta o funcionamento dos navegadores normais, ou só o IE ?
Afeta só o IE, Acelio, porque ele roda um executável do OS que só afeta a engine do IE.
Um cara aqui do trampo falou que tem como resolver isso numa configuração do webserver… vou ver se consigo mais infos. e posto aqui.