Ésta es la página web de Público (www.publico.es) vista en algunos navegadores:
Mozilla Firefox | Opera | Apple Safari |
Google Chrome | Konqueror | MS Internet Explorer 6 |
Como pueden ver, la "cajita" con las previsiones metereológicas se ve bien, tres elementos que internamente son una lista que se crea dinámicamente con JavaScript y a los que se les ha dado estilo con CSS, alineándolos usando la propiedad float y eliminando el "bolo" que suelen tener las listas por defecto.
Todos los navegadores en los que hemos probado hasta ahora muestran este módulo correctamente, incluido el vetusto Internet Explorer 6.
Al probar la página en el nuevo IE8, nos hemos llevado una pequeña sorpresa:
La caja en las que se muestran las previsiones meteorológicas es como si no entendiese los estilos: los elementos de la lista no se muestran alineados horizontalmente y cada uno de ellos muestra el "bolo" típico de las listas. Podría pensarse que es un problema de los diseñadores, que no han sabido maquetar estos elementos correctamente, pero las reglas que han aplicado en este módulo son correctas.
Sin embargo, si activamos el botón de "Vista de compatibilidad", la página se muestra correctamente, como con los demás navegadores, incluido el predecesor, IE7.
Según la página web de Microsoft, "no todos los sitios web están preparados para IE8" -- el original es éste:
"Internet Explorer 8 is a new release and some websites may not yet be ready for Internet Explorer 8".
Tras una breve investigación, al final Rodrigo y Daniel encontraron el problema: IE8 parece que tiene algunas incompatibilidades con una de las librerías de JavaScript más usadas (Prototype), el atributo HTML "class" y la propiedad DOM "className".
Los demás navegadores trabajan bien con el mismo código JavaScript, IE8 no. ¿Quién lo está haciendo bien y quién lo está haciendo mal?
Hasta ahora teníamos que hacer los desarrollos y diseños con tres navegadores: IE6, IE7 y el resto de navegadores. Ahora tendremos que incorporar otro. Por fortuna, ya hay trucos para forzar a IE8 para que se comporte como su antecesor.