【问题标题】:IE9 going into IE7 compatibility view even with X-UA meta tag即使使用 X-UA 元标记,IE9 也会进入 IE7 兼容性视图
【发布时间】:2015-08-11 02:51:21
【问题描述】:

所以根据标题,我使用X-UA-Compatible 元标记来强制当前 IE 版本中的标准模式。 (以下 HTML)

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

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

  • <meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7">
  • <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  • <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />

我已尝试使用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">
...

【问题讨论】:

  • 注意:本站不是内网站点
  • IIRC,使用条件注释将解析器提交到一个版本,因此之后&lt;meta http-equiv="X-UA-Compatible" 无效。 Niklas Brunberg 的回答避免了这种情况,因为真正的 http 标头将在条件 cmets 之前处理。

标签: html internet-explorer-9 internet-explorer-7 doctype x-ua-compatible


【解决方案1】:

应使用 Microsoft specifies that a comma 分隔每种模式,而不是示例 sn-p 中的分号,如下所示:

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

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

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

【讨论】:

  • 感谢您的回复。我已经使用this answer 中的代码更改了Web 服务器标头,并且它似乎可以正常工作。我只是要做一些最终检查,如果没问题,我会将您的答案标记为最佳。感谢您的帮助。
猜你喜欢
  • 2015-06-15
  • 2016-02-07
  • 2012-06-27
  • 2012-06-01
  • 2013-06-02
  • 2013-04-25
  • 1970-01-01
  • 2017-11-01
  • 2012-03-03
相关资源
最近更新 更多