Para quien no lo sepa, IExplorer de Microsoft es desde hace mucho tiempo un martirio para los que desarrollamos webs.
La cabezonería de Microsoft, a la hora de no querer seguir los estándares y escoger ir por libre, ha supuesto siempre problemas en la maquetación de webs al tener que buscar la forma de diseñar webs que se visualicen bien.
Pero además, hay otros problemas menos conocidos, aunque incluso más problemáticos.
Tras unos días online, la web de El Observador de Boadilla, de la que os hablé el otro día, estaba ocasionando problemas a los visitantes que llegaban usando IExplorer 6, 7 e incluso la última versión 8.
Los errores, que aparecían sin motivo aparente, iban desde errores como:
Internet explorer no puede abrir el sitio
a errores de Javascript en la página:
Detalles de error de página web
Agente de usuario: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; WOW64; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 1.1.4322; InfoPath.1; .NET CLR 3.5.30729; .NET CLR 3.0.30729)
Fecha: Tue, 20 Oct 2009 17:19:33 UTC
Mensaje: HTML Parsing Error: Unable to modify the parent container element before the child element is closed (KB927917)
que provocaban que la página no siempre se terminase de cargar.
Lo más curioso, es que ni con Firefox ni con Chrome se reproducía el error.
Buscando finalmente en Google, he encontrado un montón de reseñas al mensaje de error, aunque no siempre originado por lo mismo.
De entrada el problema está reconocido por la propia Microsoft, tal y como lo publica en esta nota técnica, donde su único consejo es actualizarte a IExplorer 8 o cambiar el posicionamiento del código javascript en tu página.
¿Y por qué?... pues porque el problema se origina por el pobre rendimiento de IExplorer y su lentitud a la hora de presentar las páginas, que hace que en ocasiones se ejecute el javascript que accede al DOM de la página antes de que se termine de cargar la misma, lo que genera un error y que no se termine de cargar correctamente la página.
Ahora, ¿qué parte del código javascript origina el problema?... porque cuando tienes una web realizada 100% por ti, es fácil depurar el código y tomar medidas correctivas, pero cuando usas un CMS como Joomla, donde mucho del código se genera automáticamente, es muy difícil hacer esos cambios.
Pues gracias a la pobre consola de IExplorer, es imposible saberlo, así que no queda más remedio que ir desactivando módulos y componentes para intentar dar con ello.
Al final, tras darle muchas vueltas, el problema ha resultado estar en una lista de reproducción de Youtube.com, que era la que estaba originando el problema, por lo que ha habido que quitarla de la portada y llevarla a páginas interiores.
Como curiosidad, os dejo el gráfico de las pruebas de rendimiento (sacado de la web de Anieto)
Ahora, ya sabéis porqué siempre os recomiendo Firefox (o Chrome) antes que IExplorer.