File tree Expand file tree Collapse file tree 1 file changed +14
-0
lines changed
Expand file tree Collapse file tree 1 file changed +14
-0
lines changed Original file line number Diff line number Diff line change @@ -94,6 +94,20 @@ var saveAs = saveAs || (function(view) {
9494 }
9595 // on any filesys errors revert to saving with object URLs
9696 , fs_error = function ( ) {
97+ if ( target_view && typeof safari !== "undefined" && typeof FileReader !== "undefined" ) {
98+ // Safari doesn't allow downloading of blob urls
99+ var reader = new FileReader ( ) ;
100+ reader . onloadend = function ( ) {
101+ var base64Data = reader . result ;
102+ base64Data = base64Data . replace ( / ^ d a t a : .* ; / , 'data:attachment/file;' ) ;
103+ target_view . location . href = encodeURI ( base64Data ) ;
104+ filesaver . readyState = filesaver . DONE ;
105+ dispatch_all ( ) ;
106+ } ;
107+ reader . readAsDataURL ( blob ) ;
108+ filesaver . readyState = filesaver . INIT ;
109+ return ;
110+ }
97111 // don't create more object URLs than needed
98112 if ( blob_changed || ! object_url ) {
99113 object_url = get_URL ( ) . createObjectURL ( blob ) ;
You can’t perform that action at this time.
0 commit comments