如何在兼容性视图中检测IE8是否正在运行?

Gav*_*ler 27 browser debugging internet-explorer internet-explorer-8

无论如何确定IE8浏览器是否已打开兼容性视图?

我似乎无法在谷歌上找到任何东西,所以我想知道这是否是一条可用的信息......

你为什么问!?我正在尝试追踪我们的应用程序中的错误.我正在穿过Elmah原木,似乎有一种趋势; IE8通常会抛出此错误.我试图在我的IE8副本中回复缺陷,但不能.我想缩小罪魁祸首,并认为这可能是一种方法.

Alo*_*hci 18

在Javascript中,使用document.documentMode

有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/cc196988%28VS.85%29.aspx.

  • 我用过这个并且有效.if(document.documentMode && document.documentMode <8){...} (5认同)
  • 如果页面处于Quirks模式,这将无济于事 (2认同)

Tom*_*mmy 7

显然,IE8有一些新属性

document.documentMode

document.compatMode

http://msdn.microsoft.com/en-us/library/cc196988(VS.85).aspx

  • compatMode是一个遗留属性,在这里不是很有用.它会告诉您页面是否处于怪异模式. (2认同)

eri*_*cvg 0

我相信它包含在用户代理字符串中:

\n\n

“用户代理字符串中的新标记允许检测在兼容性视图中查看站点的客户端。此标记也存在于 \xe2\x80\x9cnormal\xe2\x80\x9d Internet Explorer 8 用户代理字符串中。”

\n\n

“如果用户为您的网站选择兼容性视图,您可以通过使用版本定位标记/HTTP 标头将他们带回到您所需的布局模式。新的内容值, \xe2\x80\x98IE=EmulateIE8\xe2\x80\x99,完善了受支持值的列表,并在此特定场景中提供帮助。”

\n\n

更多信息请访问: http://blogs.msdn.com/ie/archive/2008/08/27/introducing-compatibility-view.aspx

\n