IE条件注释和元内容标签评估顺序

时间:2013-04-16 16:55:26

标签: html html5 internet-explorer internet-explorer-9

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

我想要use the latest browser mode(因此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>

1 个答案:

答案 0 :(得分:1)

http-equiv值从未如此可靠。不要尝试使用HTML元素设置HTTP标头,只需在.htaccessweb.config中直接设置HTTP标头(取决于您是分别使用Apache还是IIS)。