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

StackOverflow https://stackoverflow.com/questions/1036351

  •  10-07-2019
  •  | 
  •  

Вопрос

Можно ли использовать 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">
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top