Можно ли использовать jQuery для чтения мета-тегов


можно ли использовать jQuery для чтения мета-тегов. Если да, то вы знаете, какова будет основная структура кода, или есть ссылки на любые учебники.

7 142

7 ответов:

просто используйте что-то вроде:

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

поможет ли вам этот парсер?

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

он анализирует данные meta OG в JSon, поэтому вы можете просто использовать данные напрямую. Если вы предпочитаете, вы можете читать/писать их непосредственно с помощью jQuery, конечно. Например:

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

обратите внимание на одинарные кавычки вокруг значений атрибутов; это предотвращает ошибки разбора в jQuery.

Это тот же ответ, который я дал здесь: https://stackoverflow.com/questions/4059207

Я только что попробовал это, и это может быть ошибка версии jQuery, но

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

привело к следующей синтаксической ошибке для меня:

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

видимо, он не любит двоеточие. Я смог исправить это с помощью двойных и одинарных кавычек, как это:

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

(jQuery версии 1.8.3 -- извините, я бы сделал это комментарий к @Danilo, но он не позволит мне комментировать еще)

jQuery теперь поддерживает .data();, Так что если у вас есть

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

использовать

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

должен вернуть вам массив элементов, имя тега которых является META, а затем вы можете перебирать коллекцию, чтобы выбрать любые атрибуты элементов, которые вас интересуют.

для выбора мета-имени twitter можно добавить атрибут данных.

пример :

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

решить мою проблему, такие как:

<meta name="author" content="a314r">