从我的研究中我了解,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的表。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top