Set target="_blank" on save link
Also normalize setImmediate usage Fixes #408
This commit is contained in:
+9
-5
@@ -1,7 +1,7 @@
|
|||||||
/* FileSaver.js
|
/* FileSaver.js
|
||||||
* A saveAs() FileSaver implementation.
|
* A saveAs() FileSaver implementation.
|
||||||
* 1.3.5
|
* 1.3.6
|
||||||
* 2018-01-22 15:49:54
|
* 2018-03-16 14:39:40
|
||||||
*
|
*
|
||||||
* By Eli Grey, https://eligrey.com
|
* By Eli Grey, https://eligrey.com
|
||||||
* License: MIT
|
* License: MIT
|
||||||
@@ -33,8 +33,9 @@ export default var saveAs = saveAs || (function(view) {
|
|||||||
}
|
}
|
||||||
, is_safari = /constructor/i.test(view.HTMLElement) || view.safari
|
, is_safari = /constructor/i.test(view.HTMLElement) || view.safari
|
||||||
, is_chrome_ios =/CriOS\/[\d]+/.test(navigator.userAgent)
|
, is_chrome_ios =/CriOS\/[\d]+/.test(navigator.userAgent)
|
||||||
|
, setImmediate = view.setImmediate || view.setTimeout
|
||||||
, throw_outside = function(ex) {
|
, throw_outside = function(ex) {
|
||||||
(view.setImmediate || view.setTimeout)(function() {
|
setImmediate(function() {
|
||||||
throw ex;
|
throw ex;
|
||||||
}, 0);
|
}, 0);
|
||||||
}
|
}
|
||||||
@@ -125,14 +126,14 @@ export default var saveAs = saveAs || (function(view) {
|
|||||||
|
|
||||||
if (can_use_save_link) {
|
if (can_use_save_link) {
|
||||||
object_url = get_URL().createObjectURL(blob);
|
object_url = get_URL().createObjectURL(blob);
|
||||||
setTimeout(function() {
|
setImmediate(function() {
|
||||||
save_link.href = object_url;
|
save_link.href = object_url;
|
||||||
save_link.download = name;
|
save_link.download = name;
|
||||||
click(save_link);
|
click(save_link);
|
||||||
dispatch_all();
|
dispatch_all();
|
||||||
revoke(object_url);
|
revoke(object_url);
|
||||||
filesaver.readyState = filesaver.DONE;
|
filesaver.readyState = filesaver.DONE;
|
||||||
});
|
}, 0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -143,6 +144,7 @@ export default var saveAs = saveAs || (function(view) {
|
|||||||
return new FileSaver(blob, name || blob.name || "download", no_auto_bom);
|
return new FileSaver(blob, name || blob.name || "download", no_auto_bom);
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
// IE 10+ (native saveAs)
|
// IE 10+ (native saveAs)
|
||||||
if (typeof navigator !== "undefined" && navigator.msSaveOrOpenBlob) {
|
if (typeof navigator !== "undefined" && navigator.msSaveOrOpenBlob) {
|
||||||
return function(blob, name, no_auto_bom) {
|
return function(blob, name, no_auto_bom) {
|
||||||
@@ -155,6 +157,8 @@ export default var saveAs = saveAs || (function(view) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
save_link.target = "_blank";
|
||||||
|
|
||||||
FS_proto.abort = function(){};
|
FS_proto.abort = function(){};
|
||||||
FS_proto.readyState = FS_proto.INIT = 0;
|
FS_proto.readyState = FS_proto.INIT = 0;
|
||||||
FS_proto.WRITING = 1;
|
FS_proto.WRITING = 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user