Skip to content

Instantly share code, notes, and snippets.

@derjanb
Last active April 7, 2024 19:04
Show Gist options
  • Save derjanb/4431f674124ef1b11e30 to your computer and use it in GitHub Desktop.
Save derjanb/4431f674124ef1b11e30 to your computer and use it in GitHub Desktop.
// ==UserScript==
// @name GM_download emulation
// @namespace http://tampermonkey.net/
// @version 0.1
// @description emulate GM_download functionality
// @require https://github.com/eligrey/FileSaver.js/raw/master/FileSaver.js
// @match http://tampermonkey.net/empty.html
// @grant GM_xmlhttpRequest
// @copyright 2014, Jan Biniok
// ==/UserScript==
var GM_download_emu = function(url, name) {
GM_xmlhttpRequest({
method: 'GET',
url: url,
onload: function(r) {
var bb = new Blob([r.responseText], {type: 'text/plain'});
saveAs(bb, name);
}
});
};
GM_download_emu('http://tampermonkey.net/favicon.ico', 'favicon.ico' /* .exe .sh .crx*/);
@pyhedgehog
Copy link

text/plain? Maybe {type:parseResponseHeaders(r.responseHeaders)['content-type']}? Or at lease application/octet-stream?

@martixy
Copy link

martixy commented Mar 12, 2016

Or maybe responseType: "blob",, then saveAs(r.response, name);.
You see, this version doesn't really work in some cases(images, so far as I've discovered).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment