不幸的是我的HTML5网站存在问题,我的Internet Explorer浏览器(我在版本11上)认为在IE7兼容模式下加载网站是正确的做法。
插入恼怒的脸
将此<meta http-equiv="X-UA-Compatible" content="IE=edge" />
添加到网站确实使其在IE中正常运行,然而如果您将网站放入W3C验证程序,则会引发此错误在你:
第6行,第59列:错误值X-UA-兼容属性http-equiv 元素元。
我想知道是否有人知道是否有两种方式可以充分利用这两种方式?
答案 0 :(得分:0)
贡献可能有点晚,但也许有人可以使用它。基于<meta http-equiv="..." content="...">
用于模拟HTTP响应头(请参阅here)的事实,如果您可以访问像PHP这样的脚本语言,您可以尝试这样的事情:
<?php
header('X-UA-Compatible: IE=edge');
?><!DOCTYPE html>
<html lang="en">
...
这样,服务器仍然会发送标头,但它不在HTML5代码本身中。我在我的网站上使用它,它在W3C验证器上正确验证。我不确定它是否具有IE渲染的预期结果。也许有人可以提供反馈。我的实验并不太确定。在http://netrenderer.com/中测试页面时,我确实发现使用PHP标头函数和使用元标记之间存在一些细微差别。
答案 1 :(得分:0)
当我在本地网站上时,我不得不在兼容性视图中取消选中显示Intranet网站:
Alt + T &gt;兼容性视图设置
我找到的另一个选项对我发布的项目有帮助,就是在web配置文件中添加一些代码:
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="X-UA-Compatible" value="IE=Edge" />
</customHeaders>
</httpProtocol>
</system.webServer>
这显然是Windows上的IIS,但您显然可以achieve this on Apache。