Могу ли я использовать <link>
теги в теле HTML-страницы? Я пытался найти ответ на этот вопрос, но нашел противоречивую информацию.
При добавлении разметки микроданных Schema.org на страницу HTML я хочу добавить каноническую информацию в тег ссылки следующим образом:
<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>
Я получил приведенный выше пример кода от Schema.org . По их словам, это способ для людей, которые хотят добавить каноническую ссылку на itemprop, но не хотят размещать гиперссылки на своем сайте.
Однако в W3 четко указано, что <link>
теги следует размещать только внутри раздела head, что делает пример Schema.org недействительным.
Если я хочу придерживаться правильной разметки, какой совет я должен следовать?
Ответы:
Микроданные расширяют HTML5 таким образом, чтобы
link
иmeta
элементы можно было использовать в нихbody
, если они содержатitemprop
атрибут.Это расширение в настоящее время также включено в HTML 5.1 Nightly (черновик редактора) (см.
link
Элемент иmeta
элемент ). Но поскольку спецификация микроданных недавно стала примечанием W3C , нам нужно будет посмотреть, что произойдет с этой ссылкой.RDFa 1.1 расширяет HTML5 таким образом, что
link
иmeta
элементы могут использоваться вbody
, если они содержатpropertỳ
атрибут.Таким образом, вы не можете использовать какой-либо
link
элемент (например,<link href="" rel="" />
) вbody
, но только те, которые имеютitemprop
атрибут (для микроданных), соответственно.property
атрибут (для RDFa).Таким образом, ваш
link
элемент может быть использован вbody
:источник
<link>
тег в теле, если он содержит атрибут itemprop? И до тех пор, пока включен атрибут itemprop, я также могу включить,href
как используется в моем первоначальном вопросе?href
атрибут в любом случае. Таким образом, покаlink
элемент имеетitemprop
атрибут, вы можете использовать его вbody
. Тогда это уже не метаданные для всего документа (как это было бы в случае обычныхlink
элементов вhead
), а «скрытый» элемент для микроданных.W3Schools не устанавливает отраслевые стандарты HTML-кодирования. Это просто сторонний справочный сайт, который никак не связан с W3C . W3Schools и другие сайты часто ошибаются при использовании передовых технологий кодирования, таких как схема и адаптивный дизайн . При использовании довольно нового кода ваш универсальный магазин должен быть W3C в соответствии с установленными стандартами соответствия, и, возможно, HTML5 Doctor, если вам нужна помощь в понимании HTML5, поскольку они не являются официальными, но пользуются большим уважением.
Глядя на ваш код, он проходит проверку W3C без каких-либо проблем с элементом ссылки, содержащимся в
<body> </body>
КОРОТКИЙ ОТВЕТ: Да, вы можете использовать
<LINK>
внутри,<body> </body>
но, как упомянул Унор в своем ответе, должен включать itemprop.источник
Элемент ссылки может быть добавлен в тело документа HTML, если
itemprop
атрибут присутствует. Вот демо .Также вот пример ссылки атрибута itemprop .
источник