我使用 javascript 脚本使用偏移量对齐某些元素。偏移量的计算取决于浏览器类型,因为它们的行为不同。在 IE9 中,获取 DOM 中的子元素或计算某些偏移量,如果 IE9 处于 IE9 浏览器模式或 IE9 兼容视图浏览器模式,则行为会有所不同。
如何检测浏览器模式是否处于“Internet Explorer 9 兼容性视图”中?此模式由用户在开发者工具 (F12) 浏览器模式菜单选项中设置。
我使用 javascript 脚本使用偏移量对齐某些元素。偏移量的计算取决于浏览器类型,因为它们的行为不同。在 IE9 中,获取 DOM 中的子元素或计算某些偏移量,如果 IE9 处于 IE9 浏览器模式或 IE9 兼容视图浏览器模式,则行为会有所不同。
如何检测浏览器模式是否处于“Internet Explorer 9 兼容性视图”中?此模式由用户在开发者工具 (F12) 浏览器模式菜单选项中设置。
可以肯定的是,我正在运行 Linux,而我的虚拟映像刚刚损坏:
if (document.all && document.documentMode === 8 && !document.addEventListener) {
// IE9/IE10 in compatibility mode as IE8
}
在 UA 上:
我不记得我从哪里得到这个代码,但基本上 IE8 及更高版本在文档上有一个名为“documentMode”的属性。如果存在,但您将 IE7 视为浏览器,则可以放心地假定您处于兼容模式。
在 IE7 兼容模式下运行时,IE9 的用户代理字符串可能会有所不同,因此这将是找出不同 IE 版本之间差异的最佳方法之一。
您可以在此处阅读有关此内容的更多信息:http: //blogs.msdn.com/b/ie/archive/2010/03/23/introducing-ie9-s-user-agent-string.aspx