我在本地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>
答案 0 :(得分:1)
http-equiv
值从未如此可靠。不要尝试使用HTML元素设置HTTP标头,只需在.htaccess
或web.config
中直接设置HTTP标头(取决于您是分别使用Apache还是IIS)。