背景故事
我编写了一个专门用于 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 用户脚本中获取一个?