Est-il possible d'utiliser jQuery pour lire les balises meta

157

Est-il possible d'utiliser jQuery pour lire les balises meta. Si tel est le cas, savez-vous quelle sera la structure de base du code ou avez des liens vers des didacticiels.

Ankur
la source

Réponses:

308

Utilisez simplement quelque chose comme:

var author = $('meta[name=author]').attr("content");
MiffTheFox
la source
3
var auteur = $ ("meta [nom = 'auteur']"). attr ("contenu"); La citation était juste un peu décalée.
Jim Speaker
1
@JimSpeaker: techniquement, il n'y a pas besoin de guillemets pour un seul mot, bien que je convienne qu'il vaut mieux les inclure quand même.
Qantas 94 Heavy
20

Cet analyseur vous aiderait-il?

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

Il analyse les données méta OG en JSON, vous pouvez donc simplement utiliser les données directement. Si vous préférez, vous pouvez les lire / écrire directement à l'aide de JQuery, bien sûr. Par exemple:

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

Notez les guillemets simples autour des valeurs d'attribut; cela évite les erreurs d'analyse dans jQuery.

Danilo Moret
la source
3
l'analyseur que vous spécifiez ici (et dans quelques questions supplémentaires) est pour OG DATA (vous le dites même vous-même) tandis que l'OP posait des questions sur META TAGS et non sur OG Data.
Dementic
Le lien de réponse est mort.
Denis G.Labrecque
8

Je viens d'essayer ceci, et cela pourrait être une erreur spécifique à la version de jQuery, mais

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

a entraîné l'erreur de syntaxe suivante pour moi:

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

Apparemment, il n'aime pas le côlon. J'ai pu résoudre ce problème en utilisant des guillemets doubles et simples comme ceci:

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

(jQuery version 1.8.3 - désolé, j'aurais fait un commentaire à @Danilo, mais il ne me laissera pas encore de commentaire)

charltoons
la source
5

jQuery prend désormais en charge .data();, donc si vous avez

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

utilisation

var author = $('#author').data("content"); // author = 'stuff!'
sauce
la source
4
$("meta")

Devrait vous rendre un tableau d'éléments dont le nom de balise est META et ensuite vous pouvez parcourir la collection pour choisir les attributs des éléments qui vous intéressent.

illvm
la source
1

Pour sélectionner le méta-nom Twitter, vous pouvez ajouter un attribut de données.

exemple :

meta name="twitter:card" data-twitterCard="" content=""
$('[data-twitterCard]').attr('content');
PoussinDev
la source