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

17

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

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

    
задан Alan H. 12.01.2011 в 04:44
источник
  • IE8 никогда не был честен с богом, поэтому он был сброшен с неба браузера –  Ben 12.01.2011 в 05:07
  • Возможно, проблема выходит за пределы браузера. Если вы изучите запросы с Fiddler или Charles, вы получаете какую-либо разницу в запросах? –  Ben 12.01.2011 в 05:09
  • @Ben Не так, см. ниже и мой связанный тестовый пример! –  Alan H. 13.01.2011 в 08:41

4 ответа

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

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

  3. Per Paul Irish : IE8 IE8 mode: с перерывами ложные срабатывания в функциональном тесте для встроенного SVG. Renders CSS отличается от истинного IE8 и crashier , чем реальный. "

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

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

  6. Ссылка

ответ дан Alan H. 11.07.2016 в 19:22
5

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

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

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

ответ дан Yuhong Bao 24.11.2011 в 00:17
0

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

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

Это не происходит в режиме совместимости IE8. В этом примере jsfiddle используется нокаут (это пример, когда я впервые наткнулся на него), но его можно отслеживать вплоть до JSON.stringify Ссылка

    
ответ дан rossisdead 12.02.2013 в 18:13
0

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

    
ответ дан TN. 06.11.2013 в 16:31