Est-il possible d'utiliser jQuery pour lire les balises META
Question
Est-il possible d’utiliser jQuery pour lire les balises META? Si tel est le cas, connaissez-vous la structure de base du code ou avez-vous des liens vers des didacticiels?
La solution
Utilisez simplement quelque chose comme:
var author = $('meta[name=author]').attr("content");
Autres conseils
Cet analyseur vous aiderait-il?
https://github.com/fiann/jquery.ogp
Il analyse les données méta-OG dans JSon, vous pouvez donc les utiliser directement. Si vous préférez, vous pouvez bien sûr les lire / écrire directement avec JQuery. 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.
C’est la même réponse que j’ai donnée ici: https://stackoverflow.com/questions/4059207
Je viens d'essayer cela, et cela pourrait être une erreur spécifique à la version de jQuery, mais
$("meta[property=twitter:image]").attr("content");
a généré l'erreur de syntaxe suivante pour moi:
Error: Syntax error, unrecognized expression: meta[property=twitter:image]
Apparemment, il n'aime pas les deux points. J'ai pu résoudre ce problème en utilisant des guillemets simples et doubles, 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 commenter pour le moment.)
jQuery prend désormais en charge .data ();
, donc si vous avez
<div id='author' data-content='stuff!'>
utiliser
var author = $('#author').data("content"); // author = 'stuff!'
$("meta")
Devrait vous rendre un tableau d'éléments dont le nom de balise est META, puis vous pourrez parcourir la collection pour sélectionner les attributs des éléments qui vous intéressent.
Pour sélectionner le nom méta Twitter, vous pouvez ajouter un attribut de données.
exemple:
meta name="twitter:card" data-twitterCard="" content=""
$('[data-twitterCard]').attr('content');
var author = $('meta[name=author]').attr("content");
résoudre mon problème, tel que:
<meta name="author" content="a314r">