Czy można używać jQuery do odczytywania metatagów


157

Czy można używać jQuery do odczytywania metatagów. Jeśli tak, to wiesz, jaka będzie podstawowa struktura kodu, lub masz linki do samouczków.

Odpowiedzi:


307

Po prostu użyj czegoś takiego:

var author = $('meta[name=author]').attr("content");

3
var autor = $ ("meta [nazwa = 'autor']"). attr ("treść"); Cytat był trochę dziwny.
— Jim Speaker

1
@JimSpeaker: technicznie rzecz biorąc, nie ma potrzeby umieszczania cudzysłowów na jedno słowo, chociaż zgodziłbym się, że lepiej jest je zawrzeć niezależnie.
— Qantas 94 Heavy

20

Czy ten parser by ci pomógł?

https://github.com/fiann/jquery.ogp

Przetwarza dane meta OG do formatu JSON, więc możesz po prostu użyć danych bezpośrednio. Jeśli wolisz, możesz oczywiście czytać / zapisywać je bezpośrednio przy użyciu JQuery. Na przykład:

$("meta[property='og:title']").attr("content", document.title);
$("meta[property='og:url']").attr("content", location.toString());

Zwróć uwagę na apostrofy wokół wartości atrybutów; zapobiega to błędom analizy w jQuery.


3
parser, który tu opisujesz (i kilka innych pytań) jest przeznaczony dla OG DATA (nawet sam to mówisz), podczas gdy OP pytał o META TAGI, a nie OG Data.
— Dementic

Link do odpowiedzi nie działa.
— Denis G. Labrecque

8

Właśnie tego spróbowałem i może to być błąd specyficzny dla wersji jQuery, ale

$("meta[property=twitter:image]").attr("content");

spowodowało dla mnie następujący błąd składni:

Error: Syntax error, unrecognized expression: meta[property=twitter:image]

Najwyraźniej nie lubi okrężnicy. Udało mi się to naprawić, używając podwójnych i pojedynczych cudzysłowów w następujący sposób:

$("meta[property='twitter:image']").attr("content");

(wersja jQuery 1.8.3 - przepraszam, zrobiłbym to jako komentarz do @Danilo, ale nie pozwoli mi to jeszcze komentować)


5

jQuery obsługuje teraz .data();, więc jeśli masz

<div id='author' data-content='stuff!'>

posługiwać się

var author = $('#author').data("content"); // author = 'stuff!'

4
$("meta")

Powinien zwrócić Ci tablicę elementów, których nazwa tagu to META, a następnie możesz iterować po kolekcji, aby wybrać atrybuty elementów, które Cię interesują.


1

W przypadku wybranej nazwy meta Twittera możesz dodać atrybut danych.

przykład:

meta name="twitter:card" data-twitterCard="" content=""
$('[data-twitterCard]').attr('content');
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.