2017-11-22 19:13:00 -05:00

8 lines
2.2 KiB
JavaScript

/*
@source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */
var saveAs=saveAs||function(b){if(!("undefined"===typeof b||"undefined"!==typeof navigator&&/MSIE [1-9]\./.test(navigator.userAgent))){var f=b.document.createElementNS("http://www.w3.org/1999/xhtml","a"),p="download"in f,q=/constructor/i.test(b.HTMLElement)||b.safari,h=/CriOS\/[\d]+/.test(navigator.userAgent),r=function(a){(b.setImmediate||b.setTimeout)(function(){throw a;},0)},k=function(a){setTimeout(function(){"string"===typeof a?(b.URL||b.webkitURL||b).revokeObjectURL(a):a.remove()},4E4)},l=function(a){return/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(a.type)?
new Blob([String.fromCharCode(65279),a],{type:a.type}):a},n=function(a,c,t){t||(a=l(a));var d=this,m="application/octet-stream"===a.type,g=function(){var a=["writestart","progress","write","writeend"];a=[].concat(a);for(var b=a.length;b--;){var c=d["on"+a[b]];if("function"===typeof c)try{c.call(d,d)}catch(u){r(u)}}};d.readyState=d.INIT;if(p){var e=(b.URL||b.webkitURL||b).createObjectURL(a);setTimeout(function(){f.href=e;f.download=c;var a=new MouseEvent("click");f.dispatchEvent(a);g();k(e);d.readyState=
d.DONE})}else(function(){if((h||m&&q)&&b.FileReader){var c=new FileReader;c.onloadend=function(){var a=h?c.result:c.result.replace(/^data:[^;]*;/,"data:attachment/file;");b.open(a,"_blank")||(b.location.href=a);d.readyState=d.DONE;g()};c.readAsDataURL(a);d.readyState=d.INIT}else e||(e=(b.URL||b.webkitURL||b).createObjectURL(a)),m?b.location.href=e:b.open(e,"_blank")||(b.location.href=e),d.readyState=d.DONE,g(),k(e)})()},c=n.prototype;if("undefined"!==typeof navigator&&navigator.msSaveOrOpenBlob)return function(a,
b,c){b=b||a.name||"download";c||(a=l(a));return navigator.msSaveOrOpenBlob(a,b)};c.abort=function(){};c.readyState=c.INIT=0;c.WRITING=1;c.DONE=2;c.error=c.onwritestart=c.onprogress=c.onwrite=c.onabort=c.onerror=c.onwriteend=null;return function(a,b,c){return new n(a,b||a.name||"download",c)}}}("undefined"!==typeof self&&self||"undefined"!==typeof window&&window||this.content);
"undefined"!==typeof module&&module.exports?module.exports.saveAs=saveAs:"undefined"!==typeof define&&null!==define&&null!==define.amd&&define("FileSaver.js",function(){return saveAs});