w3C 验证器对这段代码很好:
<meta property="og:site_name" content="--Sitename--" />
如果我用 替换property
属性name
,验证器说og:site_name
没有注册。
今天突然出现这个错误:
错误第 7 行,第 66 列:元素
meta
缺少必需的属性name
。
什么都没有改变,但弹出了这个错误。
任何人都知道为什么,以及解决方案?
w3C 验证器对这段代码很好:
<meta property="og:site_name" content="--Sitename--" />
如果我用 替换property
属性name
,验证器说og:site_name
没有注册。
今天突然出现这个错误:
错误第 7 行,第 66 列:元素
meta
缺少必需的属性name
。
什么都没有改变,但弹出了这个错误。
任何人都知道为什么,以及解决方案?
很难获得您正在使用的验证器和模式。假设它是validator.w3.org。请注意 HTML5 支持是“实验性的”。“property”标签指的是 rdfa,它是 HTML5标准的一部分。要深入了解更多细节,需要您的代码片段或页面网址......
如果meta
元素具有property
属性(来自 RDFa),则不需要name
该属性。
请参阅W3C Recommendation HTML+RDFa 1.1 - Second Edition中的“HTML5 语法扩展”部分:
如果元素上存在RDFa
@property
属性,则、和属性都不是必需的,并且必须指定属性。meta
@name
@http-equiv
@charset
@content
所以你的标记很好:
<meta property="og:site_name" content="--Sitename--" />
但是,如果您使用name
属性而不是 RDFa ,它(现在)甚至有效property
,因为OGP 值已注册。所以这也很好:
<meta name="og:site_name" content="--Sitename--" />
你甚至可以结合两种方式:
<meta name="og:site_name" property="og:site_name" content="--Sitename--" />
我有同样的问题,我觉得很无聊。
这可能不是您等待的答案,但我建议使用http://validator.nu/而不是 W3C 验证器。