В чем разница между эмуляцией IE8 в IE9 и настоящим IE8?

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

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


comment
IE8 никогда не был честен перед богом, поэтому его низвергли с браузерных небес.   -  person Ben    schedule 12.01.2011
comment
Возможно, проблема не в браузере. Если вы изучите запросы с помощью Fiddler или Charles, вы заметите разницу в запросах?   -  person Ben    schedule 12.01.2011
comment
@Ben Не так, см. Ниже и мой связанный тестовый пример!   -  person Alan H.    schedule 13.01.2011


Ответы (4)


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

  2. UA включает токен «Trident/5.0» вместо «Trident/4.0». Источник.

  3. Per Paul Irish: "IE9 IE8 Режим: Перерезанно ложные срабатывания на тесте функций для встроенного SVG. Оказывает CSS по-разному, чем True IE8, и является cabyier чем настоящий».

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

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

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

person Community    schedule 13.01.2011

Еще отличия:

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

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

person Yuhong Bao    schedule 23.11.2011

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

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

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

person rossisdead    schedule 12.02.2013

Определенное поведение javascript отличается. Например, на jscript dontenum bug будет зафиксирован в EM10 Emuation IE8 .

person TN.    schedule 06.11.2013