Tips para hacer funcionar tu sitio web en IE
Sabiendo que tu aplicación funciona perfectamente en Firefox, Opera, Safari, Chrome… ver cómo se comporta en IE puede llegar a resultar muy frustante. Y no estoy hablando del CSS, sino de pequeñas diferencias en la especificación del DOM.
He estado lidiando un poco sobre cómo hacer funcionar una aplicación en IE 6 sin ningun fallo, éstos son sólo son algunos tips rápidos e información que encontrado:
- Como víen Anieto2k, existe Companion JS y tiene buena pinta como debugger, pero quería algo sencillo para el momento así que directamente usé Visual Studio (no lo recomiendo) con las excepciones que me daba ; )
- Existe una versión muy reducida de Firebug para Internet Explorer llamada Firebug Lite.
- Habilita el modo debug en IE, enlazo al tutorial.
- Inserta la etiqueta tbody en tus tablas, es una buena práctica además de ser necesario para Internet Explorer.
- Al asignar una clase con setAttribute a un elemento creado mediante DOM, en IE es className y en los demás class.
- Un ligero script para detectar el navegador del usuario.
- Cuando quieres obtener el textNode de un elemento, en algunos es innerText y en otros contentText. Lo he arreglado con un simple el.innerText || el.contentText.
- Hay muchas librerías que abstraen las distintas formas de asignar eventos, pero bueno para IE te puede servir elemento.onclick = function(){}
- El evento onchange de un checkbox sólo se dispara al perder el foco. La solución es cambiarlo por onclick.
- Si tienes que añadir atributos a un elemento con setAtribute, primero insertalo en el árbol DOM.
- Si asignas un margin en la misma dirección que el float de un elemento, IE dobla este margin. Hay una explicación bastante detallada aquí. Existen varias soluciones, una de ellas es asignar la propiedad con ‘_’ delante, que sólo será interpretada por IE.
.exampleContainer{ float:left; width: 40%; margin-left: 100px; _margin-left: 50px; }
- Para que un elemento contenedor se expanda por ejemplo dos divs flotados a la izquierda y a la derecha, en IE se necesita un hack que está muy bien explicado ( con otros tips ) en la página de Marcio Barrios.
No es mucha información y puede que me equivoque, pero espero que le sirva a alguien. ( y a mí para que no se me olvide )
Tags: css, dom, ie, javascript, tips

