2011-01-13 6 views
8

Estoy tratando de usar las etiquetas <meta> en todo mi documento HTML para marcar valores de microdatos ocultos, como se describe en Mark Pilgrim's Dive Into HTML 5. Sin embargo, cuando mis cargas de la página en Chrome (en concreto, cromo 6.0.418.0), me sale el siguiente mensaje de error:¿Existe actualmente una forma de utilizar las etiquetas HTML5 <meta> fuera de <head> en 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>. 

¿Existe actualmente una solución para esto? Lo mismo sucede en Firefox 3.6.13, aunque estoy particularmente interesado en una solución para WebKit en este momento.

+0

¿Tiene un tipo de documento HTML5 correcta? Edición: solo mirándolo de nuevo, ¿quizás esta fue una de las cosas que se sacaron de HTML5 en un momento dado? –

+0

Tengo un doctype HTML5 correcto. Supongo que es posible que esto se haya sacado de HTML5, pero hasta donde yo sé, todavía está en la especificación. Supongo que aún no tiene soporte de navegador. –

+3

Parece que los microdatos se eliminaron de la especificación HTML5 principal y se relegaron a su propio documento, marcado como "controvertido": http://www.w3.org/TR/html5/microdata.html –

Respuesta

15

Las versiones más recientes de WebKit tienen, como Firefox, un analizador compatible con HTML5, y admiten elementos meta fuera del elemento head.

También debería tener en cuenta que W3Schools no está relacionado con el W3C, y es bien sabido que publica absolutamente tonterías. Además, Microdata todavía es parte de HTML, y su uso está perfectamente bien. El hecho de que se publique en un borrador separado en el W3C no cambia eso de ninguna manera.

+0

No parece válido en W3C HTML5 sin embargo. No puedo encontrar ningún equivalente del WHATWG "Si el atributo itemprop está presente: donde se espera el contenido de fraseo". línea para "Contextos en los que se puede usar este elemento [meta]" – Alohci

+0

Intenté esto en las últimas versiones y parece que funciona en Chrome pero no en Firefox (en Mac OS X). Aunque originalmente estaba buscando soluciones alternativas, acepto esta respuesta ya que en realidad es compatible con WebKit. –

+8

Para reforzar el reclamo "Las escuelas W3C no tienen sentido", recomiendo usar [el complemento/extensión de lista personal de Chrome de Chrome] (https://chrome.google.com/webstore/detail/nolijncfnkgaikbjbdaogikpmpbdcdef) para ocultar todas las http: // w3schools. com/de tus resultados de Google. Además, solo anteponga [MDC] (http://developer.mozilla.org/) a cada pregunta sobre desarrollo web que haga en Google. Por lo general, obtendrá la información correcta que necesita. –

10

Tanto la especificación HTML de microdatos (Proyecto del editor del 8 de julio de 2011) y la especificación schema.org vocabulario por Google, Microsoft, Yahoo y permitió que el elemento de meta a ser colocados en el cuerpo como parte de los datos semánticos en el formato de microdatos.

A partir de julio de 2011, IE 9, 5 FF y Chrome 12 No arroje este error; Safari 5 todavía lo hace. (Probado en Win 7) Más importante aún (en mi humilde opinión) el validador del W3C no arroja un error.

Aquí es un ejemplo válido del elemento meta en el cuerpo:

<!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> 
Cuestiones relacionadas