8

我正在尝试在<meta>整个 HTML 文档中使用标签来标记隐藏的微数据值,如 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 的解决方法特别感兴趣。

4

2 回答 2

15

较新版本的 WebKit 像 Firefox 一样,具有符合 HTML5 的解析器,并支持meta元素之外的head元素。

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

于 2011-01-13T19:08:49.603 回答
11

HTML 微数据规范(2011 年 7 月 8 日的编辑草案)和 schema.org规格谷歌、微软和雅虎的词汇表允许将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>
于 2011-07-14T16:20:58.403 回答