La información que necesito está en una metaetiqueta. ¿Cómo puedo acceder a los "content"
datos de la metaetiqueta cuando property="video"
?
HTML:
<meta property="video" content="http://video.com/video33353.mp4" />
javascript
html
greasemonkey
meta-tags
supercoolville
fuente
fuente
<meta>
se supone que tiene unname
atributo, noproperty
. Los desarrolladores que utilicen el atributo estándar deberán adaptar el código proporcionado por la mayoría de las respuestas.Respuestas:
Puedes usar esto:
fuente
document.querySelector("meta[property='og:url']").getAttribute('content')
const
/let
deba admitir.querySelector
!Las otras respuestas probablemente deberían hacer el truco, pero esta es más simple y no requiere jQuery:
La pregunta original usaba una etiqueta RDFa con un
property=""
atributo. Para las<meta name="" …>
etiquetas HTML normales , podría usar algo como:fuente
document.head.querySelector
me dionull
perodocument.querySelector
funcionó perfectamente[content]
en el selector extiende esa excepción al caso en el que cualquier etiqueta coincidente carece de un atributo de contenido. En mi opinión, tiene más sentido en ese caso obtener un resultado nulo, pero creo que depende de la preferencia del implementador.Mucha respuesta difícil de leer aquí. Un trazador de líneas aquí
fuente
Hay una manera más fácil:
fuente
document.querySelector
versión funciona todo el camino a IE8, por lo que un montón deUsado de esta manera:
El ejemplo en esta página:
fuente
type error
tanundefined
debido a que la etiqueta meta en sí le faltaba. Resolví eso asignando una variable y envolviendo eldocument.queryselector
en una declaración de prueba para poder obtener""
por defecto en caso de error.Si usa JQuery, puede usar:
fuente
En Jquery puedes lograr esto con:
En JavaScript puede lograr esto con:
fuente
document.getElementsByTagName('meta')['video'].getAttribute('content');
si el marcado es el siguiente:<meta name="video" content="http://video.com/video33353.mp4" />
Camino - [ 1 ]
Puede obtener un error: Error de tipo no capturado: no se puede leer la propiedad 'getAttribute' de nulo
Camino - [ 2 ]
Puede obtener un error: Error de tipo no capturado: no se puede leer la propiedad 'getAttribute' de nulo
Camino - [ 3 ]
En lugar de obtener un error, obtienes
null
, eso es bueno.fuente
Simple, ¿verdad?
fuente
Este código me funciona
JS
Violín de ejemplo: http://jsfiddle.net/muthupandiant/ogfLwdwt/
fuente
Versión actualizada:
fuente
Aquí hay una función que devolverá el contenido de cualquier metaetiqueta y memorizará el resultado, evitando consultas innecesarias del DOM.
Y aquí hay una versión extendida que también busca etiquetas de gráficos abiertos , y usa Array # some :
fuente
Mi variante de la función:
fuente
Personalmente prefiero simplemente obtenerlos en un hash de objeto, luego puedo acceder a ellos desde cualquier lugar. Esto podría establecerse fácilmente en una variable inyectable y luego todo podría tenerlo y solo se agarró una vez.
Al ajustar la función, esto también se puede hacer de una sola vez.
fuente
Para su información, los atributos globales https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta son válidos, lo que significa que el
id
atributo se puede usar congetElementById
.fuente
Manifestación
fuente
Si está interesado en una solución de mayor alcance para obtener todas las metaetiquetas, podría usar este fragmento de código
fuente
si la metaetiqueta es:
JQuery será:
JavaScript será: (devolverá HTML completo)
fuente