开发者

What are the differences between IE9’s IE8 emulation and honest-to-God IE8?

I’m running into an issue where some icons aren’t showing up in IE8 on XP, but when I run开发者_运维百科 IE9 on Win 7 with document & browser modes set to IE8, the issue doesn’t present itself.

So I’m wondering what the known differences are between IE8 emulation and the real deal. Let’s hear ’em!


  1. window.performance exists

  2. The UA includes the token “Trident/5.0” instead of “Trident/4.0”. Source.

  3. Per Paul Irish: “IE9’s IE8 mode: intermittently false positives on a feature test for inline SVG. Renders CSS differently than true IE8, and is crashier than the real one.”

  4. Real IE8 does not allow text to be transparent, but IE9’s emulation does. JSFiddle demo and screenshots.

  5. In IE9’s IE8 mode, you can only style visited links differently by color (it’s a privacy fix that prevents checking if a URL is in your browser history).

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


More differences:

  1. CSS visited/link privacy fixes still apply to compatibility modes for obvious reasons.

  2. No support for HTML+TIME because it is rarely used.


IE8(at the very least, 64bit version on Windows 7) will randomly fail, and sometimes outright crashes, when JSON.stringify is used to serialize an object with nested arrays, ie:

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

This doesn't happen in IE8 compat mode. This jsfiddle example is using knockout(it's an example from when I first came across it), but it can be tracked all the way to JSON.stringify http://jsfiddle.net/5LPSx/10/


Certain javascript behavior is different. For instance, the JScript DontEnum bug looks be fixed in IE10 emulation of IE8.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜