2011-01-13 53 views
8

我試圖在整個HTML文檔中使用<meta>標記來標記隱藏的微數據值,如Mark Pilgrim的Dive Into HTML 5中所述。然而,當在Chrome中(特別是鉻6.0.418.0)我的頁面加載時,我收到以下錯誤信息:目前有什麼方法可以在WebKit的<head>之外使用HTML5 <meta>標籤嗎?

<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的解決方法特別感興趣。

+0

你有一個正確的HTML5的doctype?編輯:再看一遍,也許這是從HTML5中取出的一件事情之一? – 2011-01-13 15:38:42

+0

我的確有一個正確的HTML5文檔類型。我想這可能是從HTML5中提取出來的,但據我所知它仍在規範中。我想它只是沒有瀏覽器支持。 – 2011-01-13 15:46:48

回答

15

WebKit的更新版本像Firefox一樣符合HTML5標準的解析器,並且支持head元素外的meta元素。

我還應該注意到W3Schools與W3C並沒有關係,並且衆所周知發佈了完全的廢話。此外,Microdata仍然是HTML的一部分,並且使用它非常好。它在W3C單獨草案中發佈的事實不會以任何方式改變。

10

無論是HTML微觀數據規範(編者從8 2011年7月草案),並通過谷歌,微軟和雅虎的schema.org 規範詞彙允許meta元素被放置到身體的語義數據的一部分微數據格式。

如2011年7月,IE 9,FF 5和Chrome 12的不要將此誤差; Safari 5仍然如此。 (在Win 7上測試)更重要的是(IMHO)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> 
相關問題