2012-06-21 34 views
5

Hiện có rất nhiều tập lệnh để tìm nạp dữ liệu theo kiểu facebook từ url, nhưng tất cả chúng chỉ hoạt động kết hợp giữa jQuery và PHP. Có thể tìm nạp url chỉ bằng jQuery không?Tìm nạp thẻ meta từ url chỉ bằng jQuery

Tôi đã tìm thấy ở đây như thế nào để có được mata-thẻ của trang bằng cách:

$('meta[name=description]').attr("content"); 
$("meta[property=og:title]").attr("content", document.title); 

Nhưng làm thế nào một cách chính xác chèn truy vấn này trong jQuery.get() để có được giá trị văn bản?

$.get('http://www.imdb.com/title/tt1375666/', function(data) { 
    $('meta[name=adescription]').attr("content"); 
}); 

Và nếu các trang web phổ biến nhất sử dụng OpenGraph, tôi có nên xem hướng của jQuery.getJSON() không?

+0

Sẽ không yêu cầu có vấn đề về nguồn gốc tên miền chéo? – Terminal

Trả lời

4

Sử dụng các dữ liệu html lấy từ URL

$.get('http://www.guardian.co.uk/culture/2012/jun/21/jimmy-carr-apologises-error-tax', 
function(data) { 
    $(data).find('meta[name=adescription]').attr("content"); 
}); 
+0

Cảm ơn bạn, nhưng nó trả lại cho tôi toàn bộ trang, và không fide meta-tag trong nó – khex

2

Với bộ lọc hoạt động tốt!

Bạn có thể thử.

$.get('http://www.guardian.co.uk/culture/2012/jun/21/jimmy-carr-apologises-error-tax', function(data) { 
    $(data).filter('meta[name=adescription]').attr("content"); 
}); 
11

Nó có vẻ như điều này sẽ không thực hiện được vì Cross Origin Policy

Có chắc chắn là những cách để làm việc đó với sự kết hợp của khách hàng & thay đổi phía máy chủ. Thay vào đó tôi đã sử dụng API này trong một dự án hoạt động tốt như một API REST đơn giản để lấy dữ liệu biểu đồ mở của url. GET https://opengraph.io/api/1.0/site/<URL encoded site URL> https://opengraph.io/

Nó đã làm việc cho tôi như một giải pháp duy nhất phía máy khách.

[LƯU Ý: Tôi không có mối quan hệ với sản phẩm này hoặc người sáng tạo của sản phẩm này. Tôi tìm thấy nó thông qua nghiên cứu trực tuyến và sử dụng nó trong một dự án]

+1

Tôi chỉ cập nhật các bài viết để giải thích - không có mối quan hệ, chỉ là một người sử dụng. – Rebecca

+1

Cảm ơn, được đánh giá cao! –

2

Có thể sử dụng CORS Anywhere:.

$.get("https://cors-anywhere.herokuapp.com/http://www.imdb.com/title/tt1375666/", function(data) { 
    var meta = $(data).filter('meta[name="apple-itunes-app"]').attr("content"); 
    console.log(meta) 
}); 

Dùng apple-itunes-app vì nó là một thẻ meta thực tế trên IMDB.

Các vấn đề liên quan