È possibile utilizzare jQuery per leggere i metatag


157

È possibile utilizzare jQuery per leggere i meta tag. In tal caso, sai quale sarà la struttura di base del codice o se hai collegamenti a qualsiasi tutorial.

Risposte:


308

Usa qualcosa come:

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

3
var author = $ ("meta [name = 'author']"). attr ("content"); La citazione era solo un po 'fuori.
Jim Speaker

1
@JimSpeaker: tecnicamente non c'è bisogno di virgolette per una sola parola, anche se sarei d'accordo sul fatto che è meglio includerle a prescindere.
Qantas 94 Heavy

20

Questo parser potrebbe aiutarti?

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

Analizza i dati meta OG su JSON, quindi puoi semplicemente utilizzare i dati direttamente. Se preferisci, puoi leggerli / scriverli direttamente usando JQuery, ovviamente. Per esempio:

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

Nota le virgolette singole attorno ai valori degli attributi; questo impedisce errori di analisi in jQuery.


3
il parser che stai specificando qui (e in alcune altre domande) è per OG DATA (lo dici anche tu) mentre l'OP chiedeva META TAGS e non OG Data.
Demenza

Il link di risposta è morto.
Denis G. Labrecque,

8

Ho appena provato questo, e questo potrebbe essere un errore specifico della versione di jQuery, ma

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

ha provocato il seguente errore di sintassi per me:

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

Apparentemente non gli piacciono i due punti. Sono stato in grado di risolverlo usando virgolette doppie e singole come questa:

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

(jQuery versione 1.8.3 - mi dispiace, avrei fatto questo commento a @Danilo, ma non mi lascerà ancora commentare)


5

jQuery ora supporta .data();, quindi se lo hai

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

uso

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

4
$("meta")

Dovresti restituirti una matrice di elementi il ​​cui nome tag è META e quindi puoi iterare sulla raccolta per selezionare gli attributi degli elementi che ti interessano.


1

Per selezionare il meta nome twitter, è possibile aggiungere un attributo dati.

esempio :

meta name="twitter:card" data-twitterCard="" content=""
$('[data-twitterCard]').attr('content');
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.