如何处理未在HTML5中验证的元素?

问题描述:

在HTML5中,一些meta元素不验证(没有?),如:如何处理未在HTML5中验证的元素?

<meta http-equiv="x-ua-compatible" content="ie=emulateie7;chrome=1"> 
<meta http-equiv="imagetoolbar" content="no"> 

是有条件的评论在这里合适的解决方案RESP。元元素仍然按预期工作?

<!--[if IE]><meta http-equiv="x-ua-compatible" content="ie=emulateie7;chrome=1"><![endif]--> 
<!--[if lt IE 7]><meta http-equiv="imagetoolbar" content="no"><![endif]--> 

使用.htaccess文件而不是元素(不一定总是可能),这是否是正确的方法?

<IfModule mod_setenvif.c> 
    <IfModule mod_headers.c> 
    # BrowserMatch MSIE ie OR? 
    BrowserMatch MSIE emulate_ie7 
    # Header set X-UA-Compatible "IE=EmulateIE7" env=ie OR? 
    Header set X-UA-Compatible "IE=EmulateIE7" env=emulate_ie7 
    BrowserMatch chromeframe gcf 
    Header append X-UA-Compatible "chrome=1" env=gcf 
    </IfModule> 
</IfModule> 

谢谢!

可以注册additional pragma directives

扩展到预定的一系列编译指令的可能,在一定条件下,可以在WHATWG Wiki PragmaExtensions page注册。然后

一致性检查程序都需要认识到他们:

一致性检查器必须使用WHATWG维基PragmaExtensions页上给出的信息,以确定是否一个值,允许或不允许:在本规范中定义的值或在上述页面上列出的值必须被接受,而未在本规范或上述页面中列出的值必须被拒绝为无效。

这可能是艰苦的工作,虽然,不知道是否有就是为什么这些标题尚未上市之前任何原因,但我猜你会发现,如果你试试吧:)

你。根据MS docs,htaccess看起来不错,根据您使用的Apache版本,可能会有一些变化,但可能最好的检查方法是尝试一下并查看。

个人对于“x-ua-compatible”标签,我去了.htaccess指令。我跟着html5boilerplate模板:

# ---------------------------------------------------------------------- 
# Better website experience for IE users 
# ---------------------------------------------------------------------- 

# Force the latest IE version, in various cases when it may fall back to IE7 mode 
# github.com/rails/rails/commit/123eb25#commitcomment-118920 
# Use ChromeFrame if it's installed for a better experience for the poor IE folk 

<IfModule mod_setenvif.c> 
    <IfModule mod_headers.c> 
    BrowserMatch MSIE ie 
    Header set X-UA-Compatible "IE=Edge,chrome=1" env=ie 
    </IfModule> 
</IfModule> 

<IfModule mod_headers.c> 
# Because X-UA-Compatible isn't sent to non-IE (to save header bytes), 
# We need to inform proxies that content changes based on UA 
    Header append Vary User-Agent 
# Cache control is set only if mod_headers is enabled, so that's unncessary to declare 
</IfModule>