背景故事
我编写了一个专门用于 GreaseMonkey 和 Google Chrome 的图像内嵌脚本。它应该下载PNG文件并将它们存储在图像属性的data:url中。src这听起来可能很荒谬,但某个网站设置Content-Disposition为attachment图像,我不希望每次都弹出“另存为”对话框。
实际问题
该脚本使用 获取数据XMLHttpRequest,将其编码为 base64 并将其存储在适当的位置。到目前为止,很好。但它仅在我通过 Firebug 和 Chrome 开发控制台运行它时才有效,而当我将它用作正确的用户脚本时则无效。据我了解,这是因为 Greasemonkey 脚本不能XMLHttpRequest直接使用对象,而应该依赖于调用GM_xmlhttpRequest。但是,我无法设置responseType为"blob"或"arraybuffer"那样,并且该binary参数似乎仅适用于通过 POST 请求发送数据。我只得到 Unicode 字符串。
以防万一,图像是从与链接到它们的页面相同的域中提供的。我相信它满足“同源”的东西。
http://wiki.greasespot.net/GM_xmlhttpRequest这里是 GM_xmlhttpRequest 文档。
有没有办法arraybuffer从 Greasemonkey 用户脚本中获取一个?