Как получить информацию из метатега с помощью JavaScript? - PullRequest
101 голосов
/ 23 сентября 2011

Мне нужна информация в метатеге.Как получить доступ к данным "content" метатега, если property="video"?

HTML:

<meta property="video" content="http://video.com/video33353.mp4" />

Ответы [ 13 ]

153 голосов
/ 26 февраля 2016

Другие ответы, вероятно, должны помочь, но этот более простой и не требует jQuery:

document.head.querySelector("[property~=video][content]").content;
105 голосов
/ 23 сентября 2011

Вы можете использовать это:

function getMeta(metaName) {
  const metas = document.getElementsByTagName('meta');

  for (let i = 0; i < metas.length; i++) {
    if (metas[i].getAttribute('name') === metaName) {
      return metas[i].getAttribute('content');
    }
  }

  return '';
}

console.log(getMeta('video'));
73 голосов
/ 12 октября 2016

Здесь очень сложно прочитать ответ. Один лайнер здесь

document.querySelector("meta[property='og:image']").getAttribute("content");
18 голосов
/ 30 мая 2016

Есть более простой способ:

document.getElementsByName('name of metatag')[0].getAttribute('content')
15 голосов
/ 15 февраля 2014
function getMetaContentByName(name,content){
   var content = (content==null)?'content':content;
   return document.querySelector("meta[name='"+name+"']").getAttribute(content);
}

Используется таким образом:

getMetaContentByName("video");

Пример на этой странице:

getMetaContentByName("twitter:domain");
13 голосов
/ 30 декабря 2013
$("meta[property='video']").attr('content');
11 голосов
/ 29 марта 2013

В Jquery вы можете добиться этого с помощью:

$("meta[property='video']");

В JavaScript вы можете достичь этого с помощью:

document.getElementsByTagName('meta').item(property='video');
4 голосов
/ 07 января 2018

Путь - [ 1 ]

function getMetaContent(property, name){
    return document.head.querySelector("["+property+"="+name+"]").content;
}
console.log(getMetaContent('name', 'csrf-token'));

Вы можете получить ошибку: Uncaught TypeError: Невозможно прочитать свойство 'getAttribute' с нулевым значением


Путь - [ 2 ]

function getMetaContent(name){
    return document.getElementsByTagName('meta')[name].getAttribute("content");
}
console.log(getMetaContent('csrf-token'));

Вы можете получить ошибку: Uncaught TypeError: Невозможно прочитать свойство 'getAttribute' с нулевым значением


Путь - [ 3 ]

function getMetaContent(name){
    name = document.getElementsByTagName('meta')[name];
    if(name != undefined){
        name = name.getAttribute("content");
        if(name != undefined){
            return name;
        }
    }
    return null;
}
console.log(getMetaContent('csrf-token'));

Вместо того, чтобы получить ошибку, вы получите null, это хорошо.

2 голосов
/ 22 июля 2015
function getDescription() {
    var info = document.getElementsByTagName('meta');
    return [].filter.call(info, function (val) {
        if(val.name === 'description') return val;
    })[0].content;
}

версия обновления:

function getDesc() {
    var desc = document.head.querySelector('meta[name=description]');
    return desc ? desc.content : undefined;
}
2 голосов
/ 05 февраля 2015

Этот код работает для меня

<meta name="text" property="text" content="This is text" />
<meta name="video" property="text" content="http://video.com/video33353.mp4" />

JS

var x = document.getElementsByTagName("META");
    var txt = "";
    var i;
    for (i = 0; i < x.length; i++) {
        if (x[i].name=="video")
        {
             alert(x[i].content);
         }

    }    

Пример скрипта: http://jsfiddle.net/muthupandiant/ogfLwdwt/

...