如何使我的HTML5网站在最新的IE版本中呈现并符合W3C标准?

时间:2014-05-27 08:19:46

标签: html internet-explorer compatibility w3c-validation x-ua-compatible

不幸的是我的HTML5网站存在问题,我的Internet Explorer浏览器(我在版本11上)认为在IE7兼容模式下加载网站是正确的做法。

插入恼怒的脸

将此<meta http-equiv="X-UA-Compatible" content="IE=edge" />添加到网站确实使其在IE中正常运行,然而如果您将网站放入W3C验证程序,则会引发此错误在你:

  

第6行,第59列:错误值X-UA-兼容属性http-equiv   元素元。

我想知道是否有人知道是否有两种方式可以充分利用这两种方式?

2 个答案:

答案 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