即使使用 X-UA 元标记,IE9 也会进入 IE7 兼容性视图

IE9 going into IE7 compatibility view even with X-UA meta tag

因此,根据标题,我使用 X-UA-Compatible 元标记在当前 IE 版本中强制使用标准模式。 (下图HTML)

尽管如此,在 IE9 中它会根据用户计算机的百分比进入兼容模式。我使用 Mac,它在 Win7 IE9 虚拟机和我的 Windows 机器的 IE9 上运行良好。但是当我在同事的笔记本电脑上测试时,它会直接进入兼容性视图。

我尝试了以下元标记,但没有成功:

我已尝试使用 this answer 重置 Internet Explorer 设置来解决同一个问题,但仍然无效。

<!DOCTYPE html>
<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7">
        <title>Site</title>
        <meta name="description" content="">
        <meta name="viewport" content="width=device-width, initial-scale=1">
...

应使用 Microsoft specifies that a comma 来分隔每个模式,而不是示例代码段中的分号,如下所示:

<meta http-equiv="X-UA-Compatible" content="IE=9,8,7"> 

但我怀疑如果您已经单独尝试过 content="IE=edge",那可能不是重点。第二种解决方案是完全避免使用元标记,而是将 X-UA-Compatible 作为 HTTP header 发送。

如果这不起作用,我会查看您同事笔记本电脑中的网络设置(不仅仅是 IE 的设置),看看他的网络是否被视为内部网,尽管它不是内部网。