Ist es möglich, jQuery zum Lesen von Meta-Tags zu verwenden?


157

Ist es möglich, jQuery zum Lesen von Meta-Tags zu verwenden? Wenn ja, wissen Sie, wie die Grundstruktur des Codes aussehen wird, oder haben Links zu Tutorials.

Antworten:


307

Verwenden Sie einfach etwas wie:

var author = $('meta[name=author]').attr("content");

3
var author = $ ("meta [name = 'author']"). attr ("content"); Das Zitat war nur ein wenig daneben.
Jim Speaker

1
@ JimSpeaker: Technisch gesehen sind keine Anführungszeichen für ein einzelnes Wort erforderlich, obwohl ich zustimmen würde, dass es besser ist, sie unabhängig davon einzuschließen.
Qantas 94 Heavy

20

Würde Ihnen dieser Parser helfen?

https://github.com/fiann/jquery.ogp

Es analysiert Meta-OG-Daten in JSON, sodass Sie die Daten einfach direkt verwenden können. Wenn Sie möchten, können Sie diese natürlich direkt mit JQuery lesen / schreiben. Beispielsweise:

$("meta[property='og:title']").attr("content", document.title);
$("meta[property='og:url']").attr("content", location.toString());

Beachten Sie die einfachen Anführungszeichen um die Attributwerte. Dies verhindert Analysefehler in jQuery.


3
Der Parser, den Sie hier angeben (und in einigen weiteren Fragen), ist für OG DATA (Sie sagen es sogar selbst), während das OP nach META TAGS und nicht nach OG Data fragte.
Dementic

Antwortlink ist tot.
Denis G. Labrecque

8

Ich habe es gerade versucht, und dies könnte ein Versionsfehler von jQuery sein, aber

$("meta[property=twitter:image]").attr("content");

führte für mich zu folgendem Syntaxfehler:

Error: Syntax error, unrecognized expression: meta[property=twitter:image]

Anscheinend mag es den Doppelpunkt nicht. Ich konnte es beheben, indem ich doppelte und einfache Anführungszeichen wie folgt verwendete:

$("meta[property='twitter:image']").attr("content");

(jQuery Version 1.8.3 - Entschuldigung, ich hätte dies zu @Danilo kommentiert, aber ich kann es noch nicht kommentieren.)


5

jQuery unterstützt jetzt .data();, wenn ja

<div id='author' data-content='stuff!'>

verwenden

var author = $('#author').data("content"); // author = 'stuff!'

4
$("meta")

Sollte Ihnen ein Array von Elementen zurückgeben, deren Tag-Name META ist, und dann können Sie die Sammlung durchlaufen, um die Attribute der Elemente auszuwählen, an denen Sie interessiert sind.


1

Für einen ausgewählten Twitter-Metanamen können Sie ein Datenattribut hinzufügen.

Beispiel:

meta name="twitter:card" data-twitterCard="" content=""
$('[data-twitterCard]').attr('content');
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.