diff -r 1324bd8747ff -r 7f25a4453865 server/php/basic/public_html/static/lib/FileSaver/FileSaver.js --- a/server/php/basic/public_html/static/lib/FileSaver/FileSaver.js Thu Jun 18 16:53:16 2015 +0200 +++ b/server/php/basic/public_html/static/lib/FileSaver/FileSaver.js Fri Jun 19 13:35:23 2015 +0200 @@ -1,6 +1,6 @@ /* FileSaver.js * A saveAs() FileSaver implementation. - * 2014-12-17 + * 2015-05-07.2 * * By Eli Grey, http://eligrey.com * License: X11/MIT @@ -12,16 +12,10 @@ /*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */ -var saveAs = saveAs - // IE 10+ (native saveAs) - || (typeof navigator !== "undefined" && - navigator.msSaveOrOpenBlob && navigator.msSaveOrOpenBlob.bind(navigator)) - // Everyone else - || (function(view) { +var saveAs = saveAs || (function(view) { "use strict"; // IE <10 is explicitly unsupported - if (typeof navigator !== "undefined" && - /MSIE [1-9]\./.test(navigator.userAgent)) { + if (typeof navigator !== "undefined" && /MSIE [1-9]\./.test(navigator.userAgent)) { return; } var @@ -81,7 +75,15 @@ } } } + , auto_bom = function(blob) { + // prepend BOM for UTF-8 XML and text/* types (including HTML) + if (/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(blob.type)) { + return new Blob(["\ufeff", blob], {type: blob.type}); + } + return blob; + } , FileSaver = function(blob, name) { + blob = auto_bom(blob); // First try a.download, then web filesystem, then object URLs var filesaver = this @@ -207,6 +209,13 @@ return new FileSaver(blob, name); } ; + // IE 10+ (native saveAs) + if (typeof navigator !== "undefined" && navigator.msSaveOrOpenBlob) { + return function(blob, name) { + return navigator.msSaveOrOpenBlob(auto_bom(blob), name); + }; + } + FS_proto.abort = function() { var filesaver = this; filesaver.readyState = filesaver.DONE; @@ -236,9 +245,9 @@ // with an attribute `content` that corresponds to the window if (typeof module !== "undefined" && module.exports) { - module.exports = saveAs; + module.exports.saveAs = saveAs; } else if ((typeof define !== "undefined" && define !== null) && (define.amd != null)) { define([], function() { return saveAs; }); -} +} \ No newline at end of file