以下内容根据W3验证器是符合“HTML 4.01 Transitional”标准的:
当将此代码转换为HTML5时,
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.or/TR/html4/loose.dtd">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="revisit-after" content="30 days">
<meta name="DC.Title" content="Website title">
<title>Website title</title>
</head><body></body></html>
当将此代码转换为HTML5时,
meta
标签发生了一些变化,如此处所述。因此,以下内容应该是有效的HTML5:<!DOCTYPE html>
<html><head>
<meta charset="UTF-8">
<meta name="revisit-after" content="30 days">
<meta name="DC.Title" content="Website title">
<title>Website title</title>
</head><body></body></html>
除了它不再被验证为元标签应该是注册的,没有其他区别。
问题:W3文档没有列出HTML5的新“功能”中对标签的限制,但它们与HTML 4.01 Transitional中之前的验证不同。
更新: 虽然官方HTML4文档确实没有限制name
属性的字段值,但HTML5草案提到了新的限制(与“差异”指南不同)。 一些海报建议根据SEO论点根本不使用meta
标签,但已经有许多公共和内部使用meta
标签进行缓存控制、文档和存储目的。难道不能有一种方法将有效的HTML4代码转换为有效的HTML5代码,而不依赖于数百万元解析器自动重写吗?
问题: 实践中我们应该怎么做?
meta
(而是使用script
作为数据块或现有元素上的data-*
属性)。 - unormeta
标签的语义,而不是引入一个新元素(如你所建议的script
或data-*
属性或其他一些东西)并要求注册它们?这不会影响现有页面的验证,任何需要注册备用标签变体的人都可以自由地这样做。 - user8472