Por primera vez en la historia, Microsoft ha quitado características de su navegador. Infame entre los desarrolladores web, Internet Explorer se ha caracterizado siempre por un pésimo soporte de los estándares web, complicando enormemente el diseño de páginas webs.Pero algo ha cambiado: en la versión preliminar de IE11 que Microsoft publicó el pasado mes se pueden encontrar importantes novedades, que parecen indicar que, por fin, esta versión dejará de dar dolores de cabeza.
Aspecto del nuevo IE11 (Fuente: geek) |
Un nuevo «User-agent»
El user-agent es el mensaje con el que un navegador se «presenta» ante un servidor. Aparte de servir para hacer estadísticas sobre usuarios, tiene la importante misión de permitir personalizar parte del contenido web según la plataforma del usuario.
Si bien IE10 enviaba una cadena como esta:
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)
ahora en el nuevo IE11 la que se envía es más sencilla:
Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv 11.0) like Gecko
¿Ves la diferencia? Efectivamente, ya no aparece el identificador «MSIE» que caracteriza al navegador de Microsoft. No quieren que el servidor se de cuenta de que se trata de una versión de Internet Explorer, y prefieren que se le clasifique como de tipo Safari, los primeros en usar la coletilla de «like Gecko«.
Variables globales y Javascript
Pero hay más… El objeto global navigator ya tampoco permite identificar a IE11 como un producto de Microsoft, ya que este es ahora su contenido:
- navigator.appName = ‘Netscape’
- navigator.product = ‘Gecko’
Así mismo, toda una serie de objetos propios de IE y alternativos a los mecanismos estandarizados han sido eliminados, dejando como única alternativa el uso de los estándar. Estos objetos o métodos ya no existen en IE11:
- window.execScript() – Forma no estándar de eval()
- window.doScroll() – Forma no estándar de hacer scroll
- script.onreadystatechange – Forma no estándar de saber cuando un script se termina de cargar.
- script.readyState – Parecido al anterior.
- document.selection – Forma no estándar de acceder al texto seleccionado.
- document.createStyleSheet – Forma no estándar de crear una CSS.
- style.styleSheet – Forma no estándar de referenciar una CSS.