在IE8兼容模式下使用条件确定是否在IE8兼容模式下
题
从我的研究中我了解,IE8确实令人讨厌的事情,例如强迫自己进入本地Intranet主机和本地IP范围的IE7模式。我从一个 上一个问题 无论IE8是否在IE8还是IE7模式下渲染,都无法使用条件陈述 <!--[if IE 8]>
有条件。
由于这个问题是在不久前问的(在IE8 beta阶段的外观上),我想知道这是否发生了变化,或者是否有其他方法 使用条件 确定IE8是否处于兼容模式。
谢谢!
解决方案
不,您不能使用条件性做到这一点。
最好的方法是使用document.documentmode属性,如发布的链接pekka中所述。 如何检测IE8是否在兼容性视图中运行?
其他提示
最后,我选择混合两种常见的策略来处理此错误。
我创建了一个覆盖CSS文件,我使用条件注释导入该文件。但是,如果IE 8或9,则该替代看起来不太好,因此我将“强制IE”包含在最新的渲染模式中”标头开关,如下所示。
<!--[if lte IE 7]>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<link rel="stylesheet" type="text/css" href="/Content/IE7Overrides.csss" />
<![endif]-->
这为IE7提供了不错的故障保护,但是强制IE8和IE9将其显示在最新的浏览器中,该浏览器将正确显示基于CSS的表。
不隶属于 StackOverflow