Информация, которая мне нужна, находится в метатеге. Как я могу получить доступ к "content"
данным метатега, когда property="video"
?
HTML:
<meta property="video" content="http://video.com/video33353.mp4" />
javascript
html
greasemonkey
meta-tags
supercoolville
источник
источник
<meta>
предполагается наличиеname
атрибута, а неproperty
. Разработчики, использующие стандартный атрибут, должны будут адаптировать код, приведенный в большинстве ответов.Ответы:
Вы можете использовать это:
источник
document.querySelector("meta[property='og:url']").getAttribute('content')
const
/let
должны поддерживать.querySelector
!Другие ответы, вероятно, должны помочь, но этот проще и не требует jQuery:
В исходном вопросе использовался тег RDFa с
property=""
атрибутом. Для обычных HTML-<meta name="" …>
тегов вы можете использовать что-то вроде:источник
document.head.querySelector
дала мне,null
ноdocument.querySelector
работала отлично[content]
в селектор распространяет это исключение на случай, когда у любого совпадающего тега отсутствует атрибут содержимого. ИМО, в этом случае имеет смысл получить нулевой результат, но я думаю, это зависит от предпочтений разработчика.Здесь очень трудно прочитать ответ. Один лайнер здесь
источник
Есть способ попроще:
источник
document.querySelector
версия работает до IE8, так что ее предостаточноИспользуется таким образом:
Пример на этой странице:
источник
type error
as,undefined
потому что сам метатег отсутствовал. Я решил это, назначив переменную и заключив ееdocument.queryselector
в оператор try, чтобы""
в случае ошибки я мог получить ее по умолчанию.Если вы используете JQuery, вы можете использовать:
источник
В JQuery вы можете добиться этого с помощью:
В JavaScript этого можно добиться с помощью:
источник
document.getElementsByTagName('meta')['video'].getAttribute('content');
если разметка<meta name="video" content="http://video.com/video33353.mp4" />
Путь - [ 1 ]
Вы можете получить ошибку: Uncaught TypeError: Невозможно прочитать свойство getAttribute, равное null
Путь - [ 2 ]
Вы можете получить ошибку: Uncaught TypeError: Невозможно прочитать свойство getAttribute, равное null
Путь - [ 3 ]
Вместо того, чтобы получить ошибку, вы получите
null
это хорошо.источник
Простой, правда?
источник
Этот код работает для меня
JS
Пример скрипки: http://jsfiddle.net/muthupandiant/ogfLwdwt/
источник
версия обновления:
источник
Вот функция, которая вернет содержимое любого метатега и запомнит результат, избегая ненужных запросов к DOM.
А вот расширенная версия, которая также запрашивает теги открытого графа и использует массив # some :
источник
Мой вариант функции:
источник
Я лично предпочитаю помещать их в один хэш объекта, тогда я могу получить к ним доступ где угодно. Это может быть легко установлено на вводимую переменную, и тогда она может быть у всех, и она будет получена только один раз.
Обернув функцию, это также можно сделать одним лайнером.
источник
К вашему сведению, согласно https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta, глобальные атрибуты действительны, что означает, что
id
атрибут можно использовать сgetElementById
.источник
демонстрация
источник
Если вас интересует более далеко идущее решение для получения всех метатегов, вы можете использовать этот фрагмент кода.
источник
если метатег:
JQuery будет:
JavaScript будет: (Он вернет весь HTML)
источник