2010-04-26 34 views
8

有人可以幫助我在JavaScript中創建一個URL預覽?如何在JavaScript中創建網址預覽?

我的意思是說:我說我在我的網站上有一個鏈接,我希望用戶能夠將鼠標懸停在鏈接上,並彈出一個圖像來顯示鏈接目標的樣子。

不要擔心CSS,我得到了工作,我只需要實際的腳本來顯示圖像。

目前我正在通過顯示實際呈現頁面的iframe來做到這一點,但這不可擴展且看起來很醜。

頁面顯示預製圖像不是一個選項,因爲鏈接將鏈接到動態生成的用戶內容。

+1

一個mod可以給這個'PHP'或'.net'標籤嗎?僅憑JS就沒有辦法做到這一點。 – dclowd9901 2010-04-26 18:31:57

回答

5

您需要預先存儲圖像。 Javascript無法截圖並調整圖像大小(現在)。試試這個:http://snapcasa.com/。它動態地爲你拍攝圖像。所有您需要做的就是熱鏈接使用http://snapcasa.com/當圖像:)

最好的特點:

  1. 圖片保證是最先進的最新

  2. 你不」不得不把它們存儲在你的服務器上!

  3. 免費計劃有很多學分給你燒!

+0

snapcasa項目是否仍然有效? – Matt 2017-10-12 07:59:20

1

你可以使用iframe來做到這一點,或支付服務,採取截圖(Doctype.com提供這個,我認爲)。付費服務將需要很長時間才能生成屏幕截圖。基本上,不要打擾嘗試,它不會工作。

2

網站預覽不能在客戶端生成。預覽圖像需要在服務器上呈現,然後使用簡單的<img>標籤將其調用到HTML文檔中。

基本上,你可以有一個形象的標籤,如下列:

<img src="/my_preview_renderer.php?site=www.google.com" /> 

...其中my_preview_renderer.php將產生實時預覽並用適當的MIME類型返回的圖像數據。您可以使用任何服務器端腳本語言。

這不是一個詳盡的答案,但我希望它能指出你正確的方向。

+0

那麼我該如何去做服務器端呢? – 2010-04-26 18:15:10

+0

@Razor:因爲我沒有預覽生成的實際經驗,所以我會將其留作其他答案。但是我明白,生成預覽並不是微不足道的,特別是當網站使用JavaScript,Flash和其他插件時。 – 2010-04-26 18:19:07

+0

@RazorStorm我需要你的幫助來解決我的問題,我想建立一個小應用程序。需要有一個文本框,當我在文本框中粘貼一個鏈接時,我需要看到預覽。[就像我們在Facebook上聊天時粘貼任何鏈接,我們將得到該給定鏈接的小預覽] – 2015-01-16 12:28:11

3

丹尼爾是沒有辦法客戶端可以做到這一點,但一個選項將是一個免費的thumnail服務; http://www.webresourcesdepot.com/10-free-website-thumbnail-generation-services/一個不錯的工具提示腳本結合:http://flowplayer.org/tools/tooltip.html

+0

謝謝!我嘗試了snapcasa(這也是第一個響應中提到的),它起作用了!我製作了自己的工具提示代碼,但是鏈接到我的插件看起來不錯,我會在未來的項目中記住它。 – 2010-04-26 18:43:53

3

如果你想在你的屏幕截圖更直接的控制,並希望在服務器上配置的東西,你可以在命令行上設置khtml2pngwebkit2png *生成圖像。 (並且here是一些朝向使用Gecko的方向,如果你喜歡的話。)

* webkit2png提供OS X的指導,但是真的沒有理由不應該在* nix上工作,因爲WebKit本身是跨平臺的。考慮到這一點可以作爲練習留給讀者,但它可能是值得的,因爲KHTML在歷史上落後於WebKit的新功能(HTML5,CSS3等)。

我還沒有測試過任何這些解決方案,但如果您想更好地控制屏幕截圖生成功能,可能已經足夠了。

1

嗯,我想因爲這裏所有的答案都有點老了,現在你可以做到這一點使用內置在最新的瀏覽器JS中可用的Web-kit的工具,使用的WebRTC,或ffmpeg的工具,這樣的做法可以做到在幾分鐘內