3

我使用 javascript 脚本使用偏移量对齐某些元素。偏移量的计算取决于浏览器类型,因为它们的行为不同。在 IE9 中,获取 DOM 中的子元素或计算某些偏移量,如果 IE9 处于 IE9 浏览器模式或 IE9 兼容视图浏览器模式,则行为会有所不同。

如何检测浏览器模式是否处于“Internet Explorer 9 兼容性视图”中?此模式由用户在开发者工具 (F12) 浏览器模式菜单选项中设置。

4

3 回答 3

1

可以肯定的是,我正在运行 Linux,而我的虚拟映像刚刚损坏:

if (document.all && document.documentMode === 8 && !document.addEventListener) {
    // IE9/IE10 in compatibility mode as IE8
}

在 UA 上:

https://stackoverflow.com/a/12183662/887539

于 2012-11-15T22:55:07.993 回答
0

我不记得我从哪里得到这个代码,但基本上 IE8 及更高版本在文档上有一个名为“documentMode”的属性。如果存在,但您将 IE7 视为浏览器,则可以放心地假定您处于兼容模式。

文档模式说明

于 2012-11-15T22:47:45.540 回答
0

在 IE7 兼容模式下运行时,IE9 的用户代理字符串可能会有所不同,因此这将是找出不同 IE 版本之间差异的最佳方法之一。

您可以在此处阅读有关此内容的更多信息:http: //blogs.msdn.com/b/ie/archive/2010/03/23/introducing-ie9-s-user-agent-string.aspx

于 2012-11-15T22:50:27.110 回答