viernes 18 de septiembre de 2009

Maldito IE

Hace ya bastante tiempo que cuando tengo que desarrollar cualquier tipo de página web comienzo usando Firefox y, de vez en cuando, compruebo su funcionamiento en otros navegadores. Con la última no he tenido que retocar prácticamente nada. Bueno, contando con el hecho de que esa página no funcionará para ninguna versión de Explorer por debajo de la versión 8.
Como me alegro de escribir exclusivamente para una Intranet.
Solo he encontrado dos errores. Uno de ellos en un script pensado para que funcionase en la versión 6 de dicho navegador. Así que no le he dado mucha importancia. El otro, que es el que quiero comentar, es un poco tonto. Una característica única de Explorer, como muchas otras, que le da ese aire de independiente. En otras palabras, hacen lo que les da la gana.

En fin, sigamos. Yo uso mucho una librería - jQuery - que ayuda muchísimo en el desarrollo de aplicaciones web. Una particularidad de esta librería es que tiene una útil función que te permite empezar a ejecutar tu código una vez se ha terminado de cargar la página. En la mayoría de los navegadores (mayoría en este contexto viene a ser todos los navegadores gráficos excepto Explorer) cuando esta función se ejecuta ya se han construido todos los objetos que el navegador precisa para mostrar la página. Explorer, como ya he dicho, no. Resultado, la página, cuyo contenido está creado y modificado a partir de scripts no muestra prácticamente nada.

Menos mal que Google ayuda (si sabes el suficiente inglés, claro). Después de varias búsquedas infructuosas llego a un comentario donde comentan algo. Parece ser que Explorer lee y procesa el contenido paso a paso. Lee, procesa y ejecuta tal como va entrando. Es una buena forma de hacer ver que empieza a mostrar antes las páginas. Pero en casos como este lleva a que falle la página. ¿ La forma de hacer que funcione ? Llevar ese trocito de Javascript al final del documento, justo antes de que cierre la etiqueta body.

0 comentarios:

Publicar un comentario en la entrada