如果您使用的是不受支持的浏览器 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]-->
最佳答案
在黑暗中刺探,但也许 IE 对您的两个 X-UA-Compatible header 感到困惑,因此会自行回退到兼容性 View 。这是我能想到的 IE10 处理条件注释而不是完全忽略它们的唯一情况,因为在兼容性 View 中它模拟 IE7,即 lte IE 8
因此会选取被该条件注释隐藏的内容。
看看如果将它们组合成单个 <meta>
会发生什么标签:
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" />
关于html - IE10正在读取IE8条件注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18621327/