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.