【问题标题】:W3C validator shows new error: "Meta requires 'name' attribute"W3C 验证器显示新错误:“Meta 需要 'name' 属性”
【发布时间】:2013-06-21 05:23:44
【问题描述】:

w3C 验证器对这段代码没有问题:

<meta property="og:site_name" content="--Sitename--" />

如果我用name 替换property 属性,验证器会说og:site_name 未注册。

今天突然出现这个错误:

错误第 7 行,第 66 列:元素 meta 缺少必需的属性 name

什么都没有改变,但是弹出了这个错误。

有谁知道原因和解决方法?

【问题讨论】:

  • 您使用什么文档类型? html5?

标签: meta w3c-validation facebook-opengraph rdfa


【解决方案1】:

对于 HTML5

如果meta 元素具有property 属性(来自RDFa),则name 属性不需要

参见 W3C 推荐 HTML+RDFa 1.1 - Second Edition 中的“Extensions to the HTML5 Syntax”部分:

如果 meta 元素上存在 RDFa @property 属性,则 @name@http-equiv@charset 属性都不是必需的,并且必须指定 @content 属性。

所以你的标记很好:

<meta property="og:site_name" content="--Sitename--" />

但如果您使用name 属性而不是RDFa 的property,它(现在)甚至有效,因为the OGP values are registered。所以这也很好:

<meta name="og:site_name" content="--Sitename--" />

你甚至可以combine both ways:

<meta name="og:site_name" property="og:site_name" content="--Sitename--" />

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,我觉得这很无聊。

    这可能不是您等待的答案,但我建议使用 http://validator.nu/ 而不是 W3C 验证器。

    【讨论】:

    • 当您可以使用 W3C 提供的第三方验证器时,为什么还要使用第三方验证器? -1
    • 主要有两个原因:使用 HTML5 更新,并且因为 w3c 验证器有时会关闭。那么有一个备份解决方案总是好的。
    【解决方案3】:

    很难获得您正在使用的验证器和模式。假设它是validator.w3.org。请注意 HTML5 支持是“实验性的”。 “property”标签指的是 rdfa,它是 HTML5 standard 的一部分。要深入了解更多细节,需要您的代码 sn-p 或页面 url...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-13
      • 2017-06-08
      • 2013-04-27
      相关资源
      最近更新 更多