2010-05-29 34 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一樣的東西,並且有私人照片 - 或者更糟糕的話,是一個色情網站。不,最好將它代理回服務器,然後抓取圖像。另外,它可能會更快。當您的服務器可能會更快地執行操作時,無需爲最終用戶的潛在緩慢連接下載頁面; ...