2011-10-02 176 views
1

我想實現一個Greasemonkey腳本,它可以掃描頁面上的每個圖像並根據圖像內容進行一些操作。我將使用Canvas對象的getImageData方法來獲取圖像內容。從Greasemonkey腳本訪問getImageData

當我用FireFox測試我的用戶腳本時,出現'安全錯誤'異常,這意味着用戶腳本無法訪問原始頁面的圖像。

是否有任何解決方法? 用戶腳本正在處理什麼安全上下文?

謝謝。

回答

1

這可能是由於same origin policy。如果您試圖從網站託管的域以外的域中操縱圖像,則會收到安全錯誤。

可以通過使用代理Web服務器通過base64編碼字符串爲您提供圖像數據來解決此問題。有一個jQuery插件available here,默認情況下會使用Google爲您提供字符串,但每天僅限於一定數量的流量,因此開箱即用並不可靠。你可以在自己的服務器上使用他們的代碼(鏈接在頁面的底部)來繞過這個(儘管我已經取得了巨大的成功)。

+0

不好我fot。看來我必須將所需的功能實現爲FireFox插件。 – Andrey