@ agnasg

agnasg


Un bug de IE6, costillitas asadas y un símil

11-09-2006 6:09 AM

Estoy implementando un menú manejado principalmente a través de CSS y javascript (hay múltiples ejemplos en la web para hacer eso: 1, 2, 3), similar al de la página de Imperian (es un mud que recomiendo, el link estaba malo, ya lo corregí). El panel de control de mi juego está bastante congestionado, así que tengo que buscar mecanismos para selección de opciones sin que ocupe mucho espacio. Todo va bien hasta que descubro que IE6 (Internet Explorer versión 6) está haciendo flicking. El flicking o parpadeo es un sacrilegio para los programadores, porque resulta fastidioso, horrible y una muestra palpable de que hay un bug detrás en algún sitio. Al desplegar el menú, éste parpadea al mover el mouse por cada uno de las opciones. Pero el parpadeo es solamente en IE6, con firefox funciona perfectamente. Estos problemas con IE6 se presentan con bastante regularidad. Todo el mundo debería usar firefox, ya que es un navegador más apegado a los standards, es software libre, y mucho más estable. Sin embargo, todavía el 85% de los que visitan mi página usan IE6, así que tengo que resolver el bug. Me paseé durante dos horas por estos sitios (1, 2, y otros) que hablan de un bug que tiene IE6 con las imagenes. Al parecer IE6 hace flicking cuando se construye un menú con imágenes, CSS y javascript. ¿Pero si mi menú no tiene imágenes, por qué hace flickering también?. Bueno descubrí que el flickering se puede producir cuando un bloque
CSS tiene un contraste fuerte con el fondo, y por otros motivos, que fui descartando uno por uno.

El bug quedó así, me fuí a mi almuerzo de costillas asadas que degeneró en una discusión sobre el orígen del Sudoku (ver abajo), sobre un jaque mate en 2 movimientos, y en unas lecturas de Guillermo Morón, donde descubrímos la palabra estro: la inspiración que tienen los poetas, y también la transformación corporal que sufren las mujeres al activarse el deseo sexual. Interesante palabra. Como quiera que sea, al día siguiente a las 5 de la mañana lo primero que hice fue desactivar javascript y el bug desapareció. Unos nanosegundos después detecté que mi menú parpadeaba porque la rutina que captura los eventos del mouse es en alguna manera incompatible, en IE6, con el mecanismo que estaba utilizando para implementar el menú. La moraleja es que si no me hubiera ido para mi almuerzo seguramente hubiera tardado otras dos horas en descubrir eso. Y no hubiese descubierto, adicionalmente, que la inspiración poética es como el arrobamiento sexual femenino. Ni en mis momentos de mayor estro hubiera pensado en un símil más apropiado.