Czy mogę używać <link>
tagów w treści strony HTML? Próbowałem znaleźć odpowiedź na to pytanie, ale znalazłem sprzeczne informacje.
Podczas dodawania znacznika mikrodanych Schema.org do strony HTML chcę dodać informacje kanoniczne w tagu łącza, takim jak ten:
<div itemscope itemtype="http://schema.org/Book">
<span itemprop="name">The Catcher in the Rye</span>—
<link itemprop="url" href="http://en.wikipedia.org/wiki/The_Catcher_in_the_Rye" />
by <span itemprop="author">J.D. Salinger</span>
</div>
Powyższy przykładowy kod otrzymałem od Schema.org . Według nich jest to droga dla osób, które chcą dodać kanoniczne odniesienie do itemprop, ale nie chcą umieszczać hiperłącza na swojej stronie internetowej.
W3 jednak wyraźnie stwierdza, że <link>
tagi powinny być umieszczane tylko w sekcji head, co powoduje, że przykład Schema.org jest nieprawidłowy.
Jeśli chcę trzymać się poprawnego znaczników, jakiej rady powinienem przestrzegać?
Odpowiedzi:
Mikrodane rozciąga HTML5 w taki sposób, że
link
imeta
elementy mogą być wykorzystane wbody
, jeśli zawierają oneitemprop
atrybutu.To rozszerzenie jest obecnie również zawarte w HTML 5.1 Nightly (wersja redakcyjna) (patrz
link
element imeta
element ). Ale ponieważ specyfikacja Microdata stała się ostatnio notatką W3C , będziemy musieli zobaczyć, co się stanie z tym odniesieniem.RDFa 1,1 rozciąga HTML5 w taki sposób, że
link
imeta
elementy mogą być wykorzystane wbody
, jeśli zawierają onepropertỳ
atrybutu.Dlatego nie wolno używać żadnego
link
elementu (np.<link href="" rel="" />
) Wbody
, ale tylko tych zitemprop
atrybutem (dla Mikrodanych) lub.property
cechą (na RDFa).W ten sposób twój
link
element może być użyty wbody
:źródło
<link>
znacznika w treści, o ile zawiera on atrybut itemprop? I tak długo, jak dołączony jest atrybut itemprop, mogę również uwzględnić,href
jak w moim pierwotnym pytaniu?href
w każdym przypadku MUSISZ podać ten atrybut. Tak długo, jaklink
element maitemprop
atrybut, możesz go używać wbody
. Wtedy nie są już metadanymi dla całego dokumentu (jak w przypadku zwykłychlink
elementów whead
), ale „ukrytym” elementem dla mikrodanych.W3Schools nie ustanawia standardów branżowych w zakresie kodowania HTML. Są po prostu zewnętrzną witryną referencyjną, która i tak nie jest powiązana z W3C . W3Schools i inne strony często mylą się, gdy używają najnowocześniejszych technologii kodowania, takich jak Schema i Responsive design . Jeśli używasz całkiem nowego kodu, Twoim punktem kompleksowej obsługi powinien być W3C, który wyznacza standardy zgodności, a być może HTML5 Doctor, jeśli potrzebujesz pomocy w zrozumieniu HTML5, nie są one oficjalne, ale bardzo szanowane.
Patrząc na twój kod, przechodzi walidację W3C bez żadnych problemów z elementem łącza zawartym w
<body> </body>
KRÓTKA ODPOWIEDŹ: Tak, możesz użyć
<LINK>
w<body> </body>
środku, ale jak wspomniał Unor w swojej odpowiedzi, musi zawierać itemprop.źródło
Element link można dodać do treści dokumentu HTML, jeśli
itemprop
atrybut jest obecny. Oto demo .Oto także przykład atrybutu link itemprop .
źródło