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

gin*_*nni 5 validation .htaccess html5 meta-tags

在HTML5中,一些元元素不验证(还是?),如:

<meta http-equiv="x-ua-compatible" content="ie=emulateie7;chrome=1">
<meta http-equiv="imagetoolbar" content="no">
Run Code Online (Sandbox Code Playgroud)

条件评论是否适用于此处.meta元素仍然会按预期工作吗?

<!--[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]-->
Run Code Online (Sandbox Code Playgroud)

使用.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>
Run Code Online (Sandbox Code Playgroud)

谢谢!

pix*_*ine 5

就个人而言,对于"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>
Run Code Online (Sandbox Code Playgroud)


rob*_*rtc 0

您可以注册其他杂注指令

在某些条件下,预定义的编译指示指令集的扩展可以在WHATWG Wiki PragmaExtensions 页面中注册。

然后,一致性检查员需要识别它们:

一致性检查人员必须使用 WHATWG Wiki PragmaExtensions 页面上给出的信息来确定是否允许某个值:本规范中定义的值或上述页面上列出的值必须被接受,而本规范或上述页面中未列出的值页面必须因无效而被拒绝。

但这可能是一项艰苦的工作,不知道之前是否有任何原因没有列出这些标头,但我想如果您尝试一下就会发现:)

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