25 lines
769 B
JavaScript
25 lines
769 B
JavaScript
mergeInto(LibraryManager.library, {
|
|
Download: function (str, fn) {
|
|
var msg = UTF8ToString(str);
|
|
var fname = UTF8ToString(fn);
|
|
function fixBinary(bin) {
|
|
var length = bin.length;
|
|
var buf = new ArrayBuffer(length);
|
|
var arr = new Uint8Array(buf);
|
|
for (var i = 0; i < length; i++) {
|
|
arr[i] = bin.charCodeAt(i);
|
|
}
|
|
return buf;
|
|
}
|
|
var binary = fixBinary(atob(msg));
|
|
var data = new Blob([binary]);
|
|
var link = document.createElement('a');
|
|
link.download = fname;
|
|
link.href = URL.createObjectURL(data);
|
|
document.body.appendChild(link);
|
|
link.click();
|
|
document.body.removeChild(link);
|
|
}
|
|
});
|
|
|