È possibile utilizzare jQuery per leggere i meta tag
Domanda
È possibile utilizzare jQuery per leggere i meta tag. In tal caso, sai quale sarà la struttura di base del codice o hai collegamenti a qualsiasi tutorial.
Soluzione
Usa qualcosa come:
var author = $('meta[name=author]').attr("content");
Altri suggerimenti
Questo parser ti aiuterebbe?
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. Ad 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.
Questa è la stessa risposta che ho dato qui: https://stackoverflow.com/questions/4059207
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)
jQuery ora supporta .data ();
, quindi se ne hai
<div id='author' data-content='stuff!'>
utilizzo
var author = $('#author').data("content"); // author = 'stuff!'
$("meta")
Dovresti restituirti una matrice di elementi il ??cui nome tag è META e quindi puoi scorrere la raccolta per individuare gli attributi degli elementi che ti interessano.
Per selezionare il meta nome twitter, è possibile aggiungere un attributo dati.
esempio:
meta name="twitter:card" data-twitterCard="" content=""
$('[data-twitterCard]').attr('content');
var author = $('meta[name=author]').attr("content");
risolvi il mio problema, come ad esempio:
<meta name="author" content="a314r">