我有一个托管在本地 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>