Wraps save link technique in setTimeout + use MouseEvent
This commit is contained in:
+8
-10
@@ -27,11 +27,7 @@ var saveAs = saveAs || (function(view) {
|
|||||||
, save_link = doc.createElementNS("http://www.w3.org/1999/xhtml", "a")
|
, save_link = doc.createElementNS("http://www.w3.org/1999/xhtml", "a")
|
||||||
, can_use_save_link = "download" in save_link
|
, can_use_save_link = "download" in save_link
|
||||||
, click = function(node) {
|
, click = function(node) {
|
||||||
var event = doc.createEvent("MouseEvents");
|
var event = new MouseEvent("click");
|
||||||
event.initMouseEvent(
|
|
||||||
"click", true, false, view, 0, 0, 0, 0, 0
|
|
||||||
, false, false, false, false, 0, null
|
|
||||||
);
|
|
||||||
node.dispatchEvent(event);
|
node.dispatchEvent(event);
|
||||||
}
|
}
|
||||||
, webkit_req_fs = view.webkitRequestFileSystem
|
, webkit_req_fs = view.webkitRequestFileSystem
|
||||||
@@ -131,10 +127,12 @@ var saveAs = saveAs || (function(view) {
|
|||||||
object_url = get_URL().createObjectURL(blob);
|
object_url = get_URL().createObjectURL(blob);
|
||||||
save_link.href = object_url;
|
save_link.href = object_url;
|
||||||
save_link.download = name;
|
save_link.download = name;
|
||||||
click(save_link);
|
setTimeout(function() {
|
||||||
filesaver.readyState = filesaver.DONE;
|
click(save_link);
|
||||||
dispatch_all();
|
dispatch_all();
|
||||||
revoke(object_url);
|
revoke(object_url);
|
||||||
|
filesaver.readyState = filesaver.DONE;
|
||||||
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Object and web filesystem URLs have a problem saving in Google Chrome when
|
// Object and web filesystem URLs have a problem saving in Google Chrome when
|
||||||
@@ -250,4 +248,4 @@ if (typeof module !== "undefined" && module.exports) {
|
|||||||
define([], function() {
|
define([], function() {
|
||||||
return saveAs;
|
return saveAs;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user