As informações necessárias estão em uma metatag. Como posso acessar os "content"
dados da metatag quando property="video"
?
HTML:
<meta property="video" content="http://video.com/video33353.mp4" />
javascript
html
greasemonkey
meta-tags
supercoolville
fonte
fonte
<meta>
é suposto ter umname
atributo, nãoproperty
. Os desenvolvedores que usam o atributo padrão precisarão adaptar o código fornecido pela maioria das respostas.Respostas:
Você pode usar isto:
fonte
document.querySelector("meta[property='og:url']").getAttribute('content')
const
/let
deve suportar.querySelector
!As outras respostas provavelmente devem funcionar, mas essa é mais simples e não requer jQuery:
A pergunta original usava uma tag RDFa com um
property=""
atributo. Para as<meta name="" …>
tags HTML normais, você pode usar algo como:fonte
document.head.querySelector
me deunull
, masdocument.querySelector
funcionou perfeitamente[content]
no seletor estende essa exceção ao caso em que qualquer tag correspondente não possui um atributo de conteúdo. Na IMO, nesse caso, faz mais sentido obter um resultado nulo, mas acho que depende da preferência do implementador.Muito difícil de ler resposta aqui. Um forro aqui
fonte
Existe uma maneira mais fácil:
fonte
document.querySelector
versão funciona todo o caminho para o IE8, por isso é muitoUsado desta maneira:
O exemplo nesta página:
fonte
type error
comoundefined
porque a própria metatag estava faltando. Resolvi isso atribuindo uma variável e envolvendo adocument.queryselector
instrução try para que eu pudesse obter""
por padrão em caso de erro.Se você usa JQuery, pode usar:
fonte
No Jquery, você pode conseguir isso com:
Em JavaScript, você pode conseguir isso com:
fonte
document.getElementsByTagName('meta')['video'].getAttribute('content');
se a marcação for a seguinte:<meta name="video" content="http://video.com/video33353.mp4" />
Caminho - [ 1 ]
Você pode receber um erro: TypeError não capturado: Não é possível ler a propriedade 'getAttribute' nula
Caminho - [ 2 ]
Você pode receber um erro: TypeError não capturado: Não é possível ler a propriedade 'getAttribute' nula
Caminho - [ 3 ]
Em vez de obter erro, você recebe
null
, isso é bom.fonte
Simples, certo?
fonte
Este código funciona para mim
JS
Exemplo de violino: http://jsfiddle.net/muthupandiant/ogfLwdwt/
fonte
Versão atualizada:
fonte
Aqui está uma função que retornará o conteúdo de qualquer metatag e memorizará o resultado, evitando consultas desnecessárias ao DOM.
E aqui está uma versão estendida que também consulta tags de gráfico aberto e usa a Matriz # some :
fonte
Minha variante da função:
fonte
Pessoalmente, prefiro colocá-los em um objeto hash, para acessá-los em qualquer lugar. Isso pode ser facilmente configurado como uma variável injetável e, em seguida, tudo pode ter, e ele é capturado apenas uma vez.
Ao envolver a função, isso também pode ser feito como um liner.
fonte
Para sua informação, de acordo com https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta, os atributos globais são válidos, o que significa que o
id
atributo pode ser usadogetElementById
.fonte
Demo
fonte
Se você estiver interessado em uma solução mais abrangente para obter todas as metatags, poderá usar este trecho de código
fonte
se a meta tag for:
O JQuery será:
O JavaScript será: (Ele retornará HTML inteiro)
fonte