As of now, it has been made possible to use <a download>
in Chrome. Using dispatchEvent
, you can download any string as file (even with a custom filename) whenever you want. Here’s a utility function to use it:
var downloadFile = function(filename, content) {
var blob = new Blob([content]);
var evt = document.createEvent("HTMLEvents");
evt.initEvent("click");
$("<a>", {
download: filename,
href: webkitURL.createObjectURL(blob)
}).get(0).dispatchEvent(evt);
};
Usage:
downloadFile("foo.txt", "bar");
It uses jQuery and the webkit
prefix, but both can be avoided.