Можно ли использовать jQuery для чтения метатегов
Вопрос
Можно ли использовать jQuery для чтения метатегов.Если да, то знаете ли вы, какова будет базовая структура кода, или имеете ли вы ссылки на какие-либо учебные пособия.
Решение
Просто используйте что-то вроде:
var author = $('meta[name=author]').attr("content");
Другие советы
Этот парсер вам поможет?
https://github.com/fiann/jquery.ogp
Он анализирует мета-данные 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, а затем вы можете выполнить итерацию по коллекции, чтобы выбрать любые интересующие вас атрибуты элементов.
Для выбора мета-имени в твиттере вы можете добавить атрибут данных.
пример:
meta name="twitter:card" data-twitterCard="" content=""
$('[data-twitterCard]').attr('content');
var author = $('meta[name=author]').attr("content");
решить мою проблему, например:
<meta name="author" content="a314r">