【问题标题】:Is there currently a way to use HTML5 <meta> tags outside of <head> in WebKit?目前有没有办法在 WebKit 的 <head> 之外使用 HTML5 <meta> 标签?
【发布时间】:2011-01-13 15:26:55
【问题描述】:

我正在尝试在整个 HTML 文档中使用 &lt;meta&gt; 标记来标记隐藏的微数据值,如 Mark Pilgrim 的 Dive Into HTML 5 中所述。但是,当我的页面在 Chrome(特别是 Chromium 6.0.418.0)中加载时,我收到以下错误消息:

<meta> is not allowed inside <article>. Moving <meta> into the <head>.
<meta> is not allowed inside <span>. Moving <meta> into the <head>.
<meta> is not allowed inside <div>. Moving <meta> into the <head>.

目前有解决方法吗?同样的事情发生在 Firefox 3.6.13 中,尽管我目前对 WebKit 的解决方法特别感兴趣。

【问题讨论】:

  • 您有正确的 HTML5 文档类型吗?编辑:再看一遍,也许这是从 HTML5 中取出的东西之一?
  • 我确实有正确的 HTML5 文档类型。我想这可能是从 HTML5 中删除的,但据我所知,它仍在规范中。我猜它只是还没有浏览器支持。
  • 似乎微数据被排除在主要的 HTML5 规范之外并归入自己的文档,标记为“有争议”:w3.org/TR/html5/microdata.html

标签: html google-chrome webkit microdata


【解决方案1】:

Google、Microsoft 和 Yahoo 的 HTML 微数据规范(2011 年 7 月 8 日的编辑草案)和 schema.org spec 词汇都允许将 meta 元素作为微数据格式的语义数据的一部分。

截至 2011 年 7 月,IE 9、FF 5 和 Chrome 12 不会抛出此错误; Safari 5 仍然如此。 (在 Win 7 上测试)更重要的是(恕我直言)W3C 的验证器不会抛出错误。

这是正文中meta 元素的一个有效示例:

<!DOCTYPE HTML>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Testing Meta in the Body</title>
    </head>
    <body>
        <div itemscope>
            <meta itemprop="name" content="HTML5 Logo">
            <figure>
                <img src="html5.png">
                <figcaption>The HTML5 Logo</figcaption>
            </figure>
        </div>
    </body>
</html>

【讨论】:

    【解决方案2】:

    WebKit 的最新版本(如 Firefox)具有兼容 HTML5 的解析器,并支持 head 元素之外的 meta 元素。

    我还应该指出,W3Schools 与 W3C 无关,并且以发表完全无稽之谈而闻名。此外,Microdata 仍然是 HTML 的一部分,使用它非常好。它在 W3C 以单独的草稿形式发布这一事实并不会以任何方式改变这一点。

    【讨论】:

    • 它似乎在 W3C HTML5 中无效。我找不到 WHATWG 的任何等效项“如果存在 itemprop 属性:需要短语内容的位置。” “可以使用此元素Meta Stack Overflow 的上下文”行
    • 我在最新版本中尝试过这个,看起来它在 Chrome 中有效,但在 Firefox 中无效(在 Mac OS X 上)。尽管我最初是在寻找解决方法,但我接受了这个答案,因为它实际上在 WebKit 中受支持。
    • 为了加强“W3C 学校是无稽之谈”的说法,我建议使用 Chrome's Personal Blocklist plugin/extension 将所有 w3schools.com 从您的 Google 搜索结果中隐藏。此外,只需将 MDC 添加到您在 Google 上搜索的每个 Web 开发问题之前。它通常会为您提供所需的正确信息。
    • @CpnCrunch:很遗憾听到这个消息,很遗憾我的评论是准确的。
    • Ms2ger:首先,问题中没有提到 w3fools(除非它被编辑掉),所以我不确定你为什么添加它。其次,w3schools 在大多数情况下都很好。我通常用它来快速查找内容。甚至 w3fools 现在也承认大多数错误已得到修复。然而,话虽如此,我查看了 w3schools 上元标记的信息,我看到它说它只允许在 head 元素中使用。我建议您更新答案以解释为什么 w3schools 在这种情况下是错误的。我试图给你投票,但在编辑答案之前不会让我投票:)
    猜你喜欢
    • 1970-01-01
    • 2011-08-27
    • 1970-01-01
    • 1970-01-01
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多