Die Informationen, die ich benötige, befinden sich in einem Meta-Tag. Wie kann ich "content"
wann auf die Daten des Meta-Tags zugreifen property="video"
?
HTML:
<meta property="video" content="http://video.com/video33353.mp4" />
javascript
html
greasemonkey
meta-tags
Supercoolville
quelle
quelle
<meta>
einname
Attribut haben soll, nichtproperty
. Entwickler, die das Standardattribut verwenden, müssen den Code der meisten Antworten anpassen.Antworten:
Sie können dies verwenden:
quelle
document.querySelector("meta[property='og:url']").getAttribute('content')
const
/ unterstützenlet
sollten.querySelector
!Die anderen Antworten sollten wahrscheinlich den Trick machen, aber diese ist einfacher und erfordert keine jQuery:
In der ursprünglichen Frage wurde ein RDFa- Tag mit einem
property=""
Attribut verwendet. Für die normalen HTML-<meta name="" …>
Tags können Sie Folgendes verwenden:quelle
document.head.querySelector
hat es mirnull
aberdocument.querySelector
perfekt funktioniert[content]
in die Auswahl wird diese Ausnahme auf den Fall erweitert, in dem einem übereinstimmenden Tag ein Inhaltsattribut fehlt. IMO ist es in diesem Fall sinnvoller, ein Null-Ergebnis zu erhalten, aber es liegt wohl an den Vorlieben des Implementierers.Viele schwer zu lesende Antworten hier. Ein Liner hier
quelle
Es gibt einen einfacheren Weg:
quelle
document.querySelector
Version funktioniert bis zum IE8, es ist also genugAuf diese Weise verwendet:
Das Beispiel auf dieser Seite:
quelle
type error
alsundefined
weil das Meta - Tag selbst fehlte. Ich habe das behoben, indem ich eine Variable zugewiesen und diedocument.queryselector
Anweisung in eine try-Anweisung eingeschlossen habe, damit ich sie""
im Fehlerfall standardmäßig erhalten kann.Wenn Sie JQuery verwenden, können Sie Folgendes verwenden:
quelle
In Jquery können Sie dies erreichen mit:
In JavaScript können Sie dies erreichen mit:
quelle
document.getElementsByTagName('meta')['video'].getAttribute('content');
Wenn das Markup wie<meta name="video" content="http://video.com/video33353.mp4" />
Weg - [ 1 ]
Möglicherweise wird folgende Fehlermeldung angezeigt: Nicht erfasster Typfehler: Die Eigenschaft 'getAttribute' von null kann nicht gelesen werden
Weg - [ 2 ]
Möglicherweise wird folgende Fehlermeldung angezeigt: Nicht erfasster Typfehler: Die Eigenschaft 'getAttribute' von null kann nicht gelesen werden
Weg - [ 3 ]
Anstatt Fehler zu bekommen
null
, bekommen Sie , das ist gut.quelle
Einfach, oder?
quelle
Dieser Code funktioniert für mich
JS
Beispiel Geige: http://jsfiddle.net/muthupandiant/ogfLwdwt/
quelle
Update-Version:
quelle
Meine Variante der Funktion:
quelle
Hier ist eine Funktion, die den Inhalt eines Meta-Tags zurückgibt und das Ergebnis speichert, um unnötige Abfragen des DOM zu vermeiden.
Und hier ist eine erweiterte Version, die auch nach offenen Diagramm-Tags fragt und Array # some verwendet :
quelle
Ich persönlich bevorzuge es, sie nur in einem Objekt-Hash abzurufen, dann kann ich überall darauf zugreifen. Dies könnte leicht auf eine injizierbare Variable gesetzt werden und dann könnte alles es haben und es würde nur einmal greifen.
Durch Umschließen der Funktion kann dies auch als Einzeiler erfolgen.
quelle
Zu Ihrer Information, gemäß https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta sind globale Attribute gültig, was bedeutet, dass das
id
Attribut mit verwendet werden kanngetElementById
.quelle
Demo
quelle
Wenn Sie an einer weitreichenderen Lösung interessiert sind, um alle Meta-Tags zu erhalten, können Sie diesen Code verwenden
quelle
Wenn das Meta-Tag lautet:
JQuery wird sein:
JavaScript wird sein: (Es wird ganzes HTML zurückgeben)
quelle