背景故事如何從GreaseMonkey userscripts請求二進制文件?
我寫的目的是既的GreaseMonkey和谷歌Chrome中使用專門的圖像內襯腳本。它應該下載PNG文件並將它們存儲在data:
的url中,圖像src
屬性。這聽起來很荒謬,但是某個網站會爲圖像設置Content-Disposition
到attachment
,而且我不想每次都彈出「另存爲」對話框。
實際問題
腳本獲取數據與XMLHttpRequest
,它編碼成一個適當的位置Base64和存儲。到目前爲止,很好。但是,只有當我通過Firebug和Chrome dev控制檯運行它時才起作用,而當我將它用作正確的用戶腳本時,它才起作用。據我所知,這是因爲Greasemonkey腳本不能直接使用XMLHttpRequest
對象,而應該依靠調用GM_xmlhttpRequest
來代替。但是,我不能將responseType
設置爲"blob"
或"arraybuffer"
那樣,而binary
參數似乎只適用於通過POST請求發送數據。我只得到Unicode字符串。
爲了以防萬一,圖像是從與鏈接到它們的頁面相同的域中提供的。我相信它符合「同源」的東西。
http://wiki.greasespot.net/GM_xmlhttpRequest這裏是GM_xmlhttpRequest文檔。
有沒有辦法從Greasemonkey userscript中獲取arraybuffer
?
可能的重複[使用XMLHttpRequest在一個腳本中下載圖像](http://stackoverflow.com/questions/8778863/downloading-an-image-using-xmlhttprequest-in-a-userscript) –