17

Me encuentro con un problema donde algunos íconos no se muestran en IE8 en XP, pero cuando ejecuto IE9 en Win 7 con el documento & modos de navegador establecidos en IE8, el problema no se presenta.¿Cuáles son las diferencias entre la emulación IE8 de IE9 y la IE8 honesta?

Así que me pregunto cuáles son las diferencias conocidas entre la emulación IE8 y el trato real. ¡Vamos a escucharlos!

+11

IE8 nunca fue honesto con Dios, por eso fue arrojado desde el cielo del navegador – Ben

+0

Tal vez el problema está fuera del navegador ... Si examina las solicitudes con Fiddler o Charles, ¿hay alguna diferencia en las solicitudes? – Ben

+0

@Ben ¡No es el caso, vea a continuación y mi caso de prueba vinculado! –

Respuesta

9
  1. window.performance exists

  2. El UA incluye el token “Trident/5.0” en lugar de “Trident/4.0”. Source.

  3. Por Paul Irish: "Modo IE8 de IE9: intermittently falsos positivos en una prueba de función para SVG en línea. Renderiza CSS de forma diferente que el verdadero IE8, y es crashier que el real. "

  4. Real IE8 no permite que el texto sea transparent, pero la emulación de IE9 sí. JSFiddle demo and screenshots.

  5. En el modo IE8 de IE9, solo puede aplicar estilos diferentes a los enlaces visitados por color (se trata de una corrección de privacidad que impide verificar si una URL se encuentra en el historial de su navegador).

  6. http://ajh.us/ie8-9

5

Más diferencias:

  1. CSS visitado correcciones de privacidad/enlace que todavía se aplican a los modos de compatibilidad por razones obvias.

  2. No admite HTML + TIME porque rara vez se utiliza.

0

IE8 (en la versión muy menos de 64 bits en Windows 7) fallará al azar, y en ocasiones se bloquea directamente, cuando JSON.stringify se utiliza para serializar un objeto con matrices anidadas, es decir:

var someModel = { 
    "pages": [{ 
     "fields": [{}] 
    }] 
}; 

Esto no ocurre en el modo de compatibilidad IE8. Este ejemplo de jsfiddle está usando knockout (es un ejemplo de cuando lo encontré por primera vez), pero se puede seguir todo el camino hasta JSON.stringify http://jsfiddle.net/5LPSx/10/

0

Cierto comportamiento de JavaScript es diferente. Por ejemplo, el aspecto JScript DontEnum bug se repara en la emulación IE10 de IE8.

Cuestiones relacionadas