可能重复:
Differentiate IE7 browser and browser in IE7 compatibility mode检测IE8兼容模式
我们还没有来得及与我们相当广泛的系统进行全面测试IE8。我们也达到了禁止使用IE8的程度。我们的用户固执而且不复杂,所以我们不觉得我们可以告诉他们使用“兼容模式”按钮。相反,我们将添加“IE = EmulateIE7”元标记作为临时修复程序。
问题是,当使用这个标签时,浏览器仍然报告自己是IE8,然后被我们的页面检测到并被拒绝。我可以理解为什么服务器端检测无法获取元标记(在元标记发送和处理之前服务器已经拥有用户代理),但客户端检查也失败。如果在客户机上单击了兼容性模式按钮,则用户代理是IE7,但如果我们使用元标记,则不是。
这意味着,除其他外,我们必须禁用检查,然后,如果我们在某个地方犯了一个错误,并忘记将meta标记添加到页面,我们将打破页面。
有没有其他人遇到过这个问题,想出一个更好的方法?当模式由元标记设置时,是否无法检测IE8是否以兼容模式运行?
而且,我们确实知道有一个有效的思想流派,我们应该使所有页面与IE8标准模式兼容,但是在我们现实的小角落,这不是一个现在可行的选择(而且我'我们会指出,我们没有创建必须以非标准方式编写的IE的4或5个版本)。
我知道我是一个后来者,但经过相当数量的测试后,我可以强烈推荐这种方法来检测IE文档呈现模式:http://stackoverflow.com/a/13732003/850782 – EpicVoyage 2014-01-10 16:40:53
我刚刚添加了一个解决方案将处理(所有情况?)兼容模式为建议的重复问题。从原始来源:http://stackoverflow.com/a/29288153/2879498 – TylerY86 2015-04-08 19:39:28