仅通过jQuery从url获取元标记

khe*_*hex 5 url jquery dom meta-tags

现在有许多脚本可以从facebook中获取来自url的数据,但是它们都只能在jQuery和PHP的组合中运行.是否可以仅通过jQuery获取URL?

我在这里找到了如何通过以下方式获取页面的mata-tags:

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

但是如何在jQuery.get()中正确插入此查询以获取文本值?

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

如果最流行的网站使用OpenGraph,我应该朝着jQuery.getJSON()的方向看?

Reb*_*cca 13

由于跨原产政策,似乎这是不可能的

通过组合客户端和服务器端更改,肯定有这样做的方法.相反,我一直在一个项目中使用这个API,该项目可以作为一个简单的REST API来获取url的开放图形数据. GET https://opengraph.io/api/1.0/site/<URL encoded site URL> https://opengraph.io/

它一直在为我作为客户端javascript唯一的解决方案.

[注意:我与此产品或其创建者没有任何关系.我通过在线研究找到了它并在项目中使用它.


小智 5

带过滤器效果很好!

你可以试试。

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


bra*_*ilo 5

可以使用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)
});
Run Code Online (Sandbox Code Playgroud)

使用apple-itunes-app它是因为它是 IMDB 上的实际元标记。


sla*_*197 4

使用从 URL 检索到的 html 数据

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