domingo, 7 de fevereiro de 2010

IE6: Background-image pisca (CSS)

Mais um bug do IE6 que me deixou piurso.
O problema é o seguinte: quando se adiciona por uma imagem em background por CSS (background-image) numa ancora (tag a) a imagem pisca quando se passa o rato por cima da ancora.
Acontece que o IE6 não faz cache da imagem e faz um novo pedido o que resulta no piscar da imagem.

Para resolver esta situação podemos incluir o seguinte no header da página.
<!--[if IE 6]>
  <script type="text/javascript">
    try {
      document.execCommand("BackgroundImageCache", false, true);
    } catch(e) {}
  </script>
<![endif]-->
Para quem precisa de uma solução que funcione sem javascript tem as seguintes hipóteses:
  • Passar a imagem (background-image) para um elemento pai. Ex: ul li a , adicionar a imagem ao elemento li.
  • Substituir a imagem em background por uma tag img.

Ficheiros duplicados

[27-02-2010 edit: correcção de alguns bugs e algumas melhorias]

Fiz esta pequena aplicação para me ajudar a encontrar alguns ficheiros mp3 repetidos, mas é aplicável a qualquer outro tipo de ficheiros. É necessário ter instalado a framework .net 2.0.
Se alguém estiver com vontade de melhorar a aplicação é só mandar um email* que trato de mandar o código fonte (C#).
*O contacto está no "sobre..." da aplicação, evitei colocar publicamente na net porque podia ser apanhado por algum bot e já chega de spam.