2011-01-13 10 views
8

Sto provando a utilizzare i tag <meta> nel mio documento HTML per contrassegnare i valori dei microdati nascosti, come descritto in Mark Pilgrim's Dive Into HTML 5. Tuttavia, quando i miei pagina viene caricata in Chrome (in particolare, cromo 6.0.418.0), ottengo i seguenti messaggi di errore:C'è attualmente un modo per utilizzare i tag HTML5 <meta> all'esterno di <head> in WebKit?

<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>. 

Esiste attualmente una soluzione per questo? La stessa cosa accade in Firefox 3.6.13, anche se in questo momento sono particolarmente interessato a una soluzione alternativa per WebKit.

+0

Hai un corretto doctype HTML5? Modifica: basta guardarlo di nuovo, forse questa era una delle cose tolte da HTML5 a un certo punto? –

+0

Ho un doctype HTML5 corretto. Suppongo che sia possibile che questo è stato preso da HTML5, ma per quanto ne so è ancora nelle specifiche. Immagino che non abbia ancora il supporto per il browser. –

+3

Sembra che i microdati siano stati espulsi dalle principali specifiche HTML5 e relegati al proprio documento, contrassegnati come "controversi": http://www.w3.org/TR/html5/microdata.html –

risposta

15

Le versioni più recenti di WebKit hanno, come Firefox, un parser compatibile con HTML5 e supportano elementi meta all'esterno dell'elemento head.

Devo anche notare che W3Schools non è correlato al W3C ed è noto per pubblicare assurdità. Inoltre, Microdata fa ancora parte dell'HTML e il suo utilizzo è perfetto. Il fatto che sia pubblicato in una bozza separata al W3C non lo cambia in alcun modo.

+0

Non sembra valido in W3C HTML5 però. Non riesco a trovare alcun equivalente di WHATWG "Se è presente l'attributo itemprop: dove è previsto il contenuto di frasi". linea per "Contesti in cui questo elemento [meta] può essere utilizzato" – Alohci

+0

Ho provato questo nelle ultime versioni e sembra che funzioni in Chrome ma non in Firefox (su Mac OS X). Anche se inizialmente cercavo soluzioni alternative, accetto questa risposta poiché è effettivamente supportata in WebKit. –

+8

Per rafforzare l'affermazione "W3C Schools is notense", ti consiglio di utilizzare [plugin/estensione Blocklist personale di Chrome] (https://chrome.google.com/webstore/detail/nolijncfnkgaikbjbdaogikpmpbdcdef) per nascondere tutto http: // w3schools. com/dai tuoi risultati di Google. Inoltre, anteponi [MDC] (http://developer.mozilla.org/) ad ogni domanda di sviluppo web di Google su Google. Di solito ti fornisce le informazioni corrette di cui hai bisogno. –

10

Sia le specifiche HTML Microdata (Progetto del redattore dall'8 luglio 2011) e la schema.org spec vocabolario da Google, Microsoft e Yahoo ha permesso ai elemento meta da posizionare nel corpo come parte dei dati semantici nella formato di microdati.

A partire da luglio 2011, IE 9, FF 5 e Chrome 12 non gettare questo errore; Safari 5 lo fa ancora. (Testato su Win 7) Ancora più importante (IMHO) il validatore del W3C non genera un errore.

Ecco un valido esempio dell'elemento meta nel corpo:

<!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> 
Problemi correlati