2012-06-21 10 views
5

Teraz wiele skryptów do facebooka pobiera dane z adresu URL, ale wszystkie działają tylko w połączeniu z jQuery i PHP. Czy można pobrać adres URL tylko przez jQuery?Pobierz metatagi z adresu URL tylko przez jQuery

Mam tu znaleźć jak zdobyć Mata tagi strony według:

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

Ale jak prawidłowo wstawić tę kwerendę w jQuery.get(), aby uzyskać wartości tekstowych?

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

A jeśli najbardziej popularne strony korzystają z OpenGraph, czy powinienem spojrzeć w stronę jQuery.getJSON()?

+0

Czy wniosek nie będzie miał problemu z pochodzeniem między domenami? – Terminal

Odpowiedz

4

Użyj danych html pobrane z 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

Dziękuję, ale zwraca mi całą stronę i nie fide meta-tags w nim – khex

2

Z filtrem działa dobrze!

Możesz spróbować.

$.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

Wydaje się, że nie byłoby to możliwe ze względu na Cross Origin Policy

pewno są sposoby robi to z kombinacją klient & zmian po stronie serwera. Zamiast tego używam tego interfejsu API w projekcie, który działa dobrze jako prosty interfejs REST API, aby uzyskać dane otwartego wykresu adresu url. GET https://opengraph.io/api/1.0/site/<URL encoded site URL> https://opengraph.io/

To pracował dla mnie jako po stronie klienta JavaScript jedynym rozwiązaniem.

[UWAGA: Nie mam żadnego związku z tym produktem ani jego twórcami. Znalazłem go poprzez badania on-line i wykorzystał je w projekcie]

+1

Właśnie zaktualizowałem post, aby wyjaśnić - bez związku, tylko użytkownik. – Rebecca

+1

Dzięki, bardzo docenione! –

2

Jest to możliwe przy użyciu 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) 
}); 

Używane apple-itunes-app bo to rzeczywiste tag na IMDB.

Powiązane problemy