Подтвердить что ты не робот

В чем разница между IE9-эмуляцией IE8 и честным-к-богу IE8?

Я сталкиваюсь с проблемой, когда некоторые значки arent появляются в IE8 на XP, но когда я запускаю IE9 на Win 7 с режимами документа и браузера, установленными в IE8, проблема не появляется.

Итак, мне интересно, какие известные различия между эмуляцией IE8 и реальной сделкой. Позволяет слышать em!

4b9b3361

Ответ 1

  • window.performance существует

  • UA включает в себя токен "Trident/5.0" вместо "Trident/4.0". Источник.

  • Per Paul Irish: "Режим IE9 IE8: с перерывами ложные срабатывания в тесте для встроенного SVG. Оказывает CSS по-другому, чем истинный IE8, и crashier, чем реальный. "

  • Настоящий IE8 не позволяет использовать текст transparent, но эмуляция IE9s делает. JSFiddle демонстрация и скриншоты.

  • В режиме IE8 IE9 вы можете по-разному настраивать посещенные ссылки по color (это исправление для конфиденциальности, которое предотвращает проверку URL-адреса в истории вашего браузера).

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

Ответ 2

Другие отличия:

  • Поправки для исправления конфиденциальности CSS/ссылки по-прежнему применимы к режимам совместимости по очевидным причинам.

  • Нет поддержки HTML + TIME, потому что она редко используется.

Ответ 3

IE8 (по крайней мере, 64-битная версия в Windows 7) будет случайным образом выходить из строя, а иногда и сбои, когда JSON.stringify используется для сериализации объекта с вложенными массивами, то есть:

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

Это не происходит в режиме совместимости IE8. Этот пример jsfiddle использует нокаут (это пример с того момента, когда я впервые наткнулся на него), но его можно отследить полностью до JSON.stringify http://jsfiddle.net/5LPSx/10/

Ответ 4

Определенное поведение JavaScript отличается. Например, ошибка JScript DontEnum будет исправлена ​​в эмуляции IE8 IE8.