2011-05-28 103 views
4

使用jQuery,有没有办法获取网站信息(可能是元数据和图像)?我试图完成的一个例子是,当我在Facebook上分享链接时,它会拉起相关图像并显示网站(文章)中的一段文字。使用jQuery获取网站信息

有没有一种方法可以使用jQuery(使用ajax)轻松完成此操作?

+0

您可以提供您迄今为止建立的一些代码吗?这基本上是jQuery所做的,*获取网站信息* ...) – 2011-05-28 18:39:59

回答

3

嗯,我认为你不能通过Javascript(jQuery)单独实现这一点。由于AJAX调用的同源政策,您无法直接请求信息。但是您可以使用url向您自己的应用程序发送AJAX调用,因此它会下载相关页面并解析其元标记和标题。并以适当的格式返回响应。

另一个想法是让服务器实际浏览页面并对其进行截图,也许为每个域保留一个缩小图像的数据库,但我不知道它的计算成本如何比简单的解析要糟糕得多。

See wkhtmltoimage

0

如果你想以确定最佳的图像和文字显示给定的URL,这是一个棘手的问题,尤其是考虑到大多数网站尚未使用HTML5语义标记。

我相信Facebook可以让开发人员标记他们的页面来确定这一点。对于一个小的详细信息,请访问:

http://developers.facebook.com/docs/reference/plugins/like/

http://developers.facebook.com/tools/lint/

至于做的事情完全与jQuery,我觉得UKU是correct--我不认为你可以在刮页不同的域。我过去所做的与他的建议相同:向我的服务器上的PHP脚本发送一个AJAX调用,该脚本下载该页面并返回。然后你可以使用PHP或JS解析它,但问题仍然存在,解析它的最有效方法是什么?

+0

关于寻找最佳图像:我已经成功地使用了一种非常简单的方法。只需检索所有标记(CSS背景不被视为实际内容),并通过http-content-length标题或临时下载来检查链接图像的文件大小。然后将最大的图像视为页面的主要图像。 – pixelistik 2011-05-28 21:23:26