Concordo: IE6 deve morrer
16 Apr 2007Como o Blogger não suporta Trackback ainda, então vai na mão mesmo:
http://www.tableless.com.br/ie6-deve-morrer
Na última sexta-feira, 13 por coincidência, tive 2 dores de cabeça com o IE6.
Problema #1: um Javascript responsável por salvar alguns dados no servidor:
for (country in countries) { ... }
isso funciona no Firefox, porém o IE acusava um problema. Graças a um debugger de Javascript que tenho instalado, consegui constatar que era esta expressão a culpada, então um amigo falou: “Coloca um var ali na declaração de country”. Dito e feito, o correto é:
for (var country in countries) { ... }
Problema #2: tags A com background-image, quando se passava o mouse por cima do link, algumas vezes, acontecia que a imagem desaparecia e aparecia novamente, em inglês flickering. Pesquisando vi que isso já é um bug conhecido do IE6, uma página fazia uma série de teorias explicando o porque daquele bug, outra apenas relatava a solução que foi adotada, a terceira e última foi mais útil, explica que a causa do problema está nos response headers HTTP, mais precisamente no Expires. Como queria uma solução mais rápida e que respondesse na mesma moeda ao IE, optei pela solução que usa um Javascript apenas no IE6, que altera um parâmetro não documentado do browser:
<!--[if IE 6]><script type="text/javascript">
try {
document.execCommand("BackgroundImageCache", false, true);
} catch(err) {}
</script><![endif]-->
Solucionado! Muito melhor que perder tempo² (meu tempo desenvolvendo uma solução para retornar as imagens com o header Expires, e o tempo do processador do servidor depois para servir as imagens através dessa solução e não do procedimento padrão do servidor HTTP).