可能重复:
区分IE7浏览器和IE7兼容模式下的浏览器
我们还没有时间用我们相当广泛的系统全面测试 IE8。我们也达到了不能禁止使用 IE8 的程度。我们的用户很固执,也不是很老练,所以我们觉得我们不能告诉他们使用“兼容模式”按钮。相反,我们将添加“IE=EmulateIE7”元标记作为临时修复。
问题是当使用这个标签时,浏览器仍然报告自己是IE8,然后被我们的页面检测到并被拒绝。我可以理解为什么服务器端检测无法获取元标记(在发送和处理元标记之前,服务器已经拥有用户代理),但客户端检查也失败了。如果在客户端计算机上单击兼容模式按钮,则用户代理是 IE7,但如果我们使用元标记,则不是。
这意味着,除其他外,我们必须禁用检查,然后,如果我们在某处犯了错误而忘记将元标记添加到页面,我们将有损坏的页面。
有没有其他人遇到过这种情况并提出更好的方法?当模式由元标记设置时,是否无法检测到 IE8 正在以兼容模式运行?
而且,我们确实知道有一个有效的思想流派,我们应该让所有页面与 IE8 标准模式兼容,但在我们现实的小角落里,这现在不是一个可行的选择(我会指出我们没有创建必须以非标准方式编写的 4 或 5 个版本的 IE)。