IE10正在阅读IE8条件评论

lom*_*s09 5 html meta internet-explorer conditional-comments internet-explorer-10

如果您使用的是不受支持的浏览器,我有一个显示警告框的网页,IE <= 8.这在IE 8及以下版本中运行良好,但是今天我在IE 10中测试它似乎也读取了这个条件.它显示警告框时不应该.我尝试了很多东西,但我不知道可能是什么问题.以下是一些代码:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0" />
  <meta http-equiv="X-UA-Compatible" content="chrome=1"/>
  <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
 ...
</head>
<!--[if lte IE 8]>
    <div style="position:absolute;bottom:0px;left:0px;background-color:orange;color:white;z-index:1000;width:250px;text-align:center;">This content is best viewed in Chrome, Firefox or any other Modern Browser. <br/><strong>Please Upgrade.  </strong></div>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)

Bol*_*ock 4

在黑暗中刺伤,但也许 IE 被你的两个 X-UA-Compatible 标头搞糊涂了,因此会自行退回到兼容性视图。这是我能想到的 IE10 处理条件注释而不是完全忽略它们的唯一情况,因为在兼容性视图中它模拟 IE7,因此lte IE 8会拾取该条件注释隐藏的内容。

看看如果将它们组合成一个<meta>标签会发生什么:

  <meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" />
Run Code Online (Sandbox Code Playgroud)