我遇到了一些图标没有显示在 XP 上的 IE8 中的问题,但是当我在 Win 7 上运行 IE9 并将文档和浏览器模式设置为 IE8 时,问题不会出现。
所以我想知道 IE8 仿真和真实交易之间的已知差异是什么。让我们听听吧!
我遇到了一些图标没有显示在 XP 上的 IE8 中的问题,但是当我在 Win 7 上运行 IE9 并将文档和浏览器模式设置为 IE8 时,问题不会出现。
所以我想知道 IE8 仿真和真实交易之间的已知差异是什么。让我们听听吧!
UA 包括代币“Trident/5.0”而不是“Trident/4.0”。来源。
Per Paul Irish:“IE9 的 IE8 模式:内联 SVG 的功能测试间歇性误报。呈现 CSS 的方式与真正的 IE8 不同,而且比真正的更崩溃。”</p>
真正的 IE8 不允许文本transparent
,但 IE9 的仿真可以。JSFiddle 演示和截图。
在 IE9 的 IE8 模式下,您只能设置不同的访问链接样式color
(这是一种隐私修复,可防止检查 URL 是否在您的浏览器历史记录中)。
更多区别:
出于显而易见的原因,CSS 访问/链接隐私修复仍然适用于兼容模式。
不支持 HTML+TIME,因为它很少使用。
某些 javascript 行为是不同的。例如,JScript DontEnum 错误看起来已在 IE8 的 IE10 仿真中得到修复。
当使用 JSON.stringify 序列化具有嵌套数组的对象时,IE8(至少是 Windows 7 上的 64 位版本)会随机失败,有时甚至会彻底崩溃,即:
var someModel = {
"pages": [{
"fields": [{}]
}]
};
这不会在 IE8 兼容模式下发生。这个 jsfiddle 示例使用了敲除(这是我第一次遇到它时的示例),但可以一直跟踪到 JSON.stringify http://jsfiddle.net/5LPSx/10/