É possível usar o jQuery para ler meta tags

157

É possível usar o jQuery para ler meta tags. Se sim, você sabe qual será a estrutura básica do código ou possui links para qualquer tutorial.

Ankur
fonte

Respostas:

307

Basta usar algo como:

var author = $('meta[name=author]').attr("content");
MiffTheFox
fonte
3
var author = $ ("meta [nome = 'autor']"). attr ("conteúdo"); A citação foi apenas um pouco fora.
Jim Speaker
1
@ JimSpeaker: tecnicamente, não há necessidade de aspas para uma única palavra, embora eu concorde que é melhor incluí-las independentemente.
Qantas 94 Heavy
20

Esse analisador ajudaria você?

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

Ele analisa os dados meta OG para JSON, para que você possa usar os dados diretamente. Se preferir, você pode lê-los / gravá-los diretamente usando o JQuery, é claro. Por exemplo:

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

Observe as aspas simples em torno dos valores do atributo; isso evita erros de análise no jQuery.

Danilo Moret
fonte
3
o analisador que você está especificando aqui (e em mais algumas perguntas) é para OG DATA (você mesmo diz isso) enquanto o OP estava perguntando sobre o META TAGS e não sobre o OG Data.
Dementic
O link de resposta está morto.
Denis G. Labrecque 18/06
8

Eu apenas tentei isso, e isso pode ser um erro específico da versão do jQuery, mas

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

resultou no seguinte erro de sintaxe para mim:

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

Aparentemente, não gosta do cólon. Consegui corrigi-lo usando aspas simples e duplas como esta:

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

(jQuery versão 1.8.3 - desculpe, eu teria feito disso um comentário para @Danilo, mas isso não me permite comentar ainda)

desenhos animados
fonte
5

O jQuery agora suporta .data();, então se você tiver

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

usar

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

Você deve devolver uma matriz de elementos cujo nome da tag é META e, em seguida, você pode percorrer a coleção para escolher quaisquer atributos dos elementos nos quais você está interessado.

illvm
fonte
1

Para selecionar o meta nome do twitter, você pode adicionar um atributo de dados.

exemplo:

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