Có thể sử dụng jQuery để đọc các thẻ meta


157

Có thể sử dụng jQuery để đọc các thẻ meta. Nếu vậy bạn có biết cấu trúc cơ bản của mã sẽ là gì, hoặc có liên kết đến bất kỳ hướng dẫn nào.

Câu trả lời:


307

Chỉ cần sử dụng một cái gì đó như:

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

3
var tác giả = $ ("meta [name = 'tác giả']"). attr ("nội dung"); Các trích dẫn chỉ là một chút.
Loa Jim

1
@JimSpeaker: về mặt kỹ thuật không cần trích dẫn cho một từ duy nhất, mặc dù tôi đồng ý rằng tốt hơn là bao gồm chúng bất kể.
Qantas 94 Nặng

20

Trình phân tích cú pháp này sẽ giúp bạn?

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

Nó phân tích dữ liệu meta OG thành JSON, vì vậy bạn chỉ có thể sử dụng dữ liệu trực tiếp. Nếu bạn thích, bạn có thể đọc / ghi chúng trực tiếp bằng JQuery, tất nhiên. Ví dụ:

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

Lưu ý các dấu ngoặc đơn xung quanh các giá trị thuộc tính; điều này ngăn ngừa lỗi phân tích cú pháp trong jQuery.


3
trình phân tích cú pháp mà bạn đang chỉ định ở đây (và trong một vài câu hỏi nữa) là dành cho OG DATA (bạn thậm chí tự nói như vậy) trong khi OP đang hỏi về META TAGS chứ không phải OG Data.
Mất trí nhớ

Liên kết trả lời là chết.
Denis G. Labrecque

8

Tôi mới thử cái này và đây có thể là một lỗi cụ thể của phiên bản jQuery, nhưng

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

dẫn đến lỗi cú pháp sau đây đối với tôi:

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

Rõ ràng nó không giống như dấu hai chấm. Tôi đã có thể sửa nó bằng cách sử dụng dấu ngoặc kép và dấu ngoặc đơn như thế này:

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

(Phiên bản jQuery 1.8.3 - xin lỗi, tôi đã có thể nhận xét này cho @Danilo, nhưng nó sẽ không cho tôi nhận xét nào)


5

jQuery hiện hỗ trợ .data();, vì vậy nếu bạn có

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

sử dụng

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

4
$("meta")

Sẽ cung cấp cho bạn một mảng các thành phần có tên thẻ là META và sau đó bạn có thể lặp lại bộ sưu tập để chọn ra bất kỳ thuộc tính nào của các yếu tố bạn quan tâm.


1

Để chọn tên meta twitter, bạn có thể thêm một thuộc tính dữ liệu.

thí dụ :

meta name="twitter:card" data-twitterCard="" content=""
$('[data-twitterCard]').attr('content');
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.