Wraps save link technique in setTimeout + use MouseEvent

This commit is contained in:
Joshua Dykstra
2015-06-03 14:07:25 -07:00
parent babc6d9d8f
commit 83ae1de762
+7 -9
View File
@@ -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