0

我有一个托管在本地 Intranet 上的网站mysite.mycompany.com,默认情况下它会触发 IE 使用兼容模式(在我的情况下为 IE-7)。

我想使用最新的浏览器模式(因此是meta content="IE=Edge,chrome=1")并稳健地处理旧版本(显示低于 IE9 的消息)。

我的问题是条件注释在元标记之前被评估,所以在评估条件时我们仍然处于 IE-7 模式。例如,在本地 Intranet 上使用 IE9 的以下 HTML 显示:'Tags LT IE9'

处理这个问题的正确、稳健的方法是什么?

<!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=Edge,chrome=1">
  </head>
  <body>
    <!--[if lt IE 9]><p>Tags LT IE9</p><![endif]-->
  </body>
</html>
4

1 回答 1

1

这些http-equiv值从未如此可靠。与其在事后尝试使用 HTML 元素设置 HTTP 标头,不如直接在其中一个.htaccess或中设置 HTTP 标头web.config(取决于您是否分别拥有 Apache 或 IIS)。

于 2013-04-16T17:49:32.423 回答