it-swarm.com.de

Kann ich <link> -Tags im Hauptteil eines HTML-Dokuments verwenden?

Kann ich <link> -Tags im Hauptteil einer HTML-Seite verwenden? Ich habe versucht, die Antwort auf diese Frage zu finden, fand aber widersprüchliche Informationen.

Wenn Sie Schema.org-Mikrodaten-Markup zu einer HTML-Seite hinzufügen, möchten Sie einem Link-Tag wie folgt kanonische Informationen hinzufügen:

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

Ich habe den obigen Beispielcode von Schema.org erhalten. Dies sei der richtige Weg für Leute, die einen kanonischen Verweis auf ein Itemprop einfügen möchten, aber keinen Hyperlink auf ihre Website setzen möchten.

W3 gibt jedoch deutlich an, dass <link> -Tags nur innerhalb des head-Abschnitts platziert werden sollten, wodurch das Schema.org-Beispiel ungültig wird.

Welchen Rat sollte ich befolgen, wenn ich mich an die korrekte Auszeichnung halten möchte?

20
Edward Touw

Mikrodaten erweitert HTML5 in einer Weise, dass link- und meta -Elemente in den body- Elementen verwendet werden können, if Sie enthalten ein Attribut itemprop.

Wenn das Attribut itemprop in link oder meta vorhanden ist, handelt es sich um Textflussinhalte und Phrasierungsinhalte. Die Elemente link und meta können verwendet werden, wenn die Formulierung von Inhalten erwartet wird, wenn das Attribut itemprop vorhanden ist.

Diese Erweiterung ist derzeit auch im HTML 5.1 Nightly (Redaktionsentwurf) enthalten (siehe link element und meta element ). Da die Mikrodaten-Spezifikation wurde ein W3C-Hinweis vor kurzem, müssen wir sehen, was mit dieser Referenz passiert.

RDFa 1.1 erweitert HTML5 in einer Weise, dass link- und meta -Elemente in body -Elementen verwendet werden können, wenn sie ein propertỳ -Attribut enthalten.

Wenn das RDFa-Attribut @property in den Elementen link oder meta vorhanden ist, MÜSSEN sie als konform angesehen werden, wenn sie in body des Dokuments verwendet werden. Insbesondere wenn link- oder meta -Elemente das RDFa @property -Attribut enthalten und im body eines HTML5-Dokuments verwendet werden, MÜSSEN sie als Ablaufinhalt betrachtet werden.


Sie dürfen also nicht anylink -Element (z. B. <link href="" rel="" />) im body verwenden, aber nur solche mit einem itemprop-Attribut ( für Mikrodaten) bzw. ein property-Attribut (für RDFa).

So kann Ihr link -Element in body verwendet werden:

<body>
<!-- … -->
  <link itemprop="url" href="http://en.wikipedia.org/wiki/The_Catcher_in_the_Rye" />
<!-- … -->
</body>
23
unor

W3Schools setzt keine Industriestandards für HTML-Codierung. Es handelt sich lediglich um eine Referenz-Site eines Drittanbieters, die ohnehin nicht mit dem W3C verbunden ist. W3Schools und andere Websites sind häufig falsch, wenn sie innovative Codierungstechnologien wie Schema und Responsive Design verwenden. Wenn Sie relativ neuen Code verwenden, sollte Ihr One-Stop-Shop W3C lauten, um die Konformitätsstandards festzulegen, und vielleicht HTML5 Doctor , wenn Sie Hilfe zum Verständnis von HTML5 benötigen, da diese nicht offiziell sind, aber hoch angesehen werden .

Wenn Sie Ihren Code betrachten, besteht er W3C-Validierung ohne Probleme mit dem im <body> </body> enthaltenen Link-Element.

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>

<body>
<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>
</body>
</html>

KURZE ANTWORT: Ja, Sie können <LINK> innerhalb von <body> </body> verwenden, aber wie Unor in seiner Antwort erwähnt hat, muss itemprop enthalten.

11
Simon Hayter

Das link-Element kann zum Hauptteil eines HTML-Dokuments hinzugefügt werden, wenn das itemprop -Attribut vorhanden ist. Hier ist eine Demo .

Auch hier ist ein link itemprop Attributbeispiel.

0
Daniel