Skip to content

Instantly share code, notes, and snippets.

@derjanb
Last active October 21, 2020 12:26
  • Star 9 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
Star You must be signed in to star a gist
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