Dicas – Fix do bug no IE 8 para divs dinâmicos (ou JQuery accordion)

Bug do Internet Explorer 8 - Ah vá!

…eu podia “estar fazendo” algo mais bacana, como por exemplo, falando sobre uma nova especificação do W3C para o HTML5, como a API vibration que saiu a pouco tempo, ou qualquer outra coisa. Mas não, o IE tinha que atazanar a vida com seus bugs. (:

Brincadeiras a parte, dessa nem o jQuery escapa. Se você tem uma div que é redimensionada dinamicamente, principalmente se ela aumentra de tamanho, ela vai dar problema no IE8. Quando ela aumentar, vai passar por cima de outras divs ou o que quer que esteja no caminho.

E sim, o problema acontece só no IE8. Se ativar o modo de compatibilidade (aquele botão do mal que fica do lado da barra de endereços), o bug não ocorre.

Não adianta apelar para CSS, overflow, height: 100%. Não vai. O que resolve horrendamente o problema é a adição da seguinte tag na head do seu HTML:

<meta http-equiv="X-UA-Compatible" content="IE=7" />

Simples. Essa tag força o IE8 a abrir em mode de compatibilidade mesmo que você não queira. Foi a solução mais aplicável, apesar de ter consequências relativamente desastrosas, já que você está forçando o usuário a voltar no tempo. Tudo que requeira uma versão do Internet Explorer mais nova, não mais terá efeito.

Encontrei a solução em diversos sites, mas a que teve a explicação mais clara foi aqui:

http://stackoverflow.com/questions/3089357/jquery-accordion-bug-in-ie-8-workaround

Bom proveito e… boa sorte!

Comentários

comentários