2011-01-13 6 views
8

Próbuję użyć znaczników <meta> w całym dokumencie HTML, aby oznaczyć ukryte wartości mikrodanych, jak opisano w publikacji Mark Pilgrim: Dive Into HTML 5. Jednak, gdy moi strona ładuje się w Chrome (konkretnie Chromium 6.0.418.0), pojawia się następujące komunikaty o błędach:Czy istnieje obecnie sposób używania tagów HTML5 <meta> poza kodem <head> w 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>. 

Czy istnieje obecnie obejście tego? To samo dzieje się w Firefoksie 3.6.13, chociaż jestem szczególnie zainteresowany obejściem dla WebKit w tym czasie.

+0

Czy masz poprawny HTML5 doctype? Edycja: po prostu patrząc na to ponownie, może to była jedna z rzeczy wyjętych z HTML5 w jednym punkcie? –

+0

Mam poprawny typ dokumentu HTML5. Przypuszczam, że jest możliwe, że został on wyjęty z HTML5, ale o ile wiem, nadal jest w specyfikacji. Chyba nie ma jeszcze obsługi przeglądarki. –

+3

Wygląda na to, że mikrodane zostały wypchnięte z głównej specyfikacji HTML5 i przeniesione do własnego dokumentu oznaczonego jako "kontrowersyjny": http://www.w3.org/TR/html5/microdata.html –

Odpowiedz

15

Nowsze wersje WebKit mają, podobnie jak Firefox, parser zgodny z HTML5 i obsługują elementy meta poza elementem head.

Należy również zauważyć, że W3Schools nie jest związany z W3C i jest znany z publikowania kompletnych bzdur. Ponadto mikrodane jest nadal częścią HTML i używanie go jest całkowicie w porządku. Fakt, że został opublikowany w oddzielnym projekcie W3C, nie zmienia tego w żaden sposób.

+0

To zdjęcie wydaje się nieprawidłowe w W3C HTML5. Nie mogę znaleźć żadnego odpowiednika WHATWG "Jeśli atrybut itemprop jest obecny: gdzie oczekuje się treści frazowania." wiersz "Konteksty, w których można użyć tego elementu [meta]" – Alohci

+0

Próbowałem tego w najnowszych wersjach i wygląda na to, że działa w Chrome, ale nie w Firefoksie (na Mac OS X). Chociaż początkowo szukałem obejść, akceptuję tę odpowiedź, ponieważ jest ona faktycznie obsługiwana w WebKit. –

+8

Aby wzmocnić roszczenie "W3C Schools to bzdura", polecam użyć [wtyczki Chrome do rozszerzenia/rozszerzenia rozszerzenia] (https://chrome.google.com/webstore/detail/nolijncfnkgaikbjbdaogikpmpbdcdef), aby ukryć wszystkie http: // w3schools. com/z Twoich wyników Google. Ponadto, po prostu dodaj [MDC] (http://developer.mozilla.org/) do każdego pytania związanego z tworzeniem stron internetowych, o które się Googlerzy. Zwykle dostarczy Ci poprawne informacje, których potrzebujesz. –

10

Zarówno specyfikacja HTML Mikrodane (Projekt redakcji z dnia 8 lipca 2011) i schema.org Spec słownictwo przez Google, Microsoft i Yahoo dozwolone element meta być umieszczone w ciele jako część danych semantycznych w format mikrodanych.

W lipcu 2011 roku, IE 9, 5 FF i Chrome 12 nie wyrzucaj tego błędu; Safari 5 nadal działa. (Testowany na Win 7) Co ważniejsze (IMHO) walidator W3C nie zgłasza błędu.

Oto ważny przykład pierwiastka w organizmie 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> 
Powiązane problemy