2011-06-22 25 views
2

我需要創建一個插件/擴展程序/ bookmarklet/greasemonkey腳本,允許用戶捕獲任意請求並將它們發送迴帶有某些標記的Web服務。例如,用戶可以進入一個頁面並單擊「捕獲」,然後會顯示一個對話框,詢問他們是否有一些標籤和/或描述,然後將當前窗口位置發送到Web服務。這裏的漁獲:跨瀏覽器解決方案,用於偵聽請求並捕獲屏幕截圖

  1. 用戶也應該能夠查看異步請求和「捕捉」他們,他們可以捕獲的窗口位置

  2. 同樣的方式,用戶應該能夠捕捉到的截圖他們的當前頁面,併發送回通過Web服務

考慮到這些最後兩個併發症我向一個瀏覽器插件的解決方案(可能是Firefox的傾斜,因爲低層次的HTTP的東西似乎比更好的支持鉻),但我a m想知道是否有人有更多的跨瀏覽器的解決方案的想法,或者如果有東西可以爲這種事情提供一個好的API。

回答

2

將不會有一個跨瀏覽器的解決方案,允許捕獲所有請求。對於Firefox,您將實施nsIContentPolicy interface並在content-policy類別中註冊您的組件。對於Chrome,你需要experimental webRequest API(WebKit瀏覽器中的beforeload事件會做同樣的事情,但它不會捕獲所有內容,它也有severe side-effects)。

至於網頁截圖,這可以在Firefox擴展中使用HTML <canvas>標籤並調用drawWindow method。然後您可以通過canvas.toDataURL()導出數據。 我不知道任何WebKit瀏覽器的替代品。chrome.tabs.captureVisibleTab()允許在Chrome中執行相同的操作。

+1

我發現這個http://code.google.com/chrome/extensions/tabs.html#method-captureVisibleTab方法,它可以提供對屏幕截圖的支持。 – Bacon

+0

你是對的,我編輯了我的答案以反映這種可能性。 –

相關問題