2009-02-21 68 views
1

我想創建一個應用程序(Firefox擴展),它將抓取屏幕區域,另存爲圖像並上傳到服務器。將選定區域上傳到服務器圖像

這裏是我的路線圖:

首先,我將創建將適用於所有域的的Greasemonkey用戶腳本。 當任何頁面加載時,它會添加一個名爲「screengrab + upload」的小按鈕。 當用戶點擊按鈕時,它會添加一個鼠標處理程序,以便我可以繪製一個div元素。

通過這個可調整大小的div元素,我將在網頁上選擇一個矩形區域。在MouseUp事件中,我將在選定區域上添加一個等效的Canvas元素。

然後我將使用todataurl函數將選定區域轉換爲圖像/ png。現在,我想將這些數據上傳到我的服務器。由於我的服務器與網頁的域不同,我需要通過跨域腳本將數據(image/png base64編碼)上傳到服務器。

對於圖片上傳,我會在我的域中添加一個隱藏的iframe到網頁。從網頁中,數據將作爲變量發佈到iframe,然後從iframe發佈到我的服務器。

最後,我將使用編譯器/轉換將greasemonkey腳本轉換爲FireFox擴展。

我能以這種方式製作這個應用程序嗎? 請建議正確的方法來做到這一點。

+0

我幾乎做了這個應用程序。我用「ScreenGrab」Firefox擴展並修改了它的代碼。此應用程序將圖像保存到本地文件系統。我使用XMLHttpRequest()上傳圖像。因爲我使用直接Ajax請求上傳圖片。當我從Chrome窗口請求時它是有效的 – user69260 2009-02-27 17:03:18

回答