2010-05-29 79 views

回答

0

我现在没有如何他们做到这一点。我会为此目的实施一项小型服务。给定一个URL返回一些相关的图像(或生成一个截图)。该服务还可以缓存结果以获得更好的性能。但仍然需要访问该页面才能获取<img src=...或拍摄照片

0

Facebook回电给服务器。如果您使用Firebug(或者像我一样,使用Safari中的Web Inspector),则可以检查ajax调用。 Facebook在/ajax/composer/attachment.php处回调脚本 - 其中包含一些包含插入到页面中的HTML的JavaScript。这是个什么样子,如果我点了Facebook的连接链路对话的BBC新闻网页在Safari Web检查:

Facebook JavaScript response when you attach a link in Safari Web Inspector http://tommorris.org/files/Facebook-20100529-181745.jpg

我把全部的JavaScript响应上Gist(这是所有单行和精缩原来,所以我只是通过TextMate来包装它)。

我不确定你是否可以在客户端做到这一点 - 因为跨站脚本的浏览器保护 - 即使你可以,你可能也不应该因为这个潜在的安全问题:假设如果有人放入一个指向只有他们有权访问的页面的URL。您不一定要将别人的自定义页面或私人页面放在您的Facebook/Digg类型网站上。想象一下,如果它是像Flickr一样的东西,并且有私人照片 - 或者更糟糕的话,是一个色情网站。不,最好将它代理回服务器,然后抓取图像。另外,它可能会更快。当您的服务器可能会更快地执行操作时,无需为最终用户的潜在缓慢连接下载页面; ...