瀏覽代碼

make download work in IE

dev_h
DanielHabenicht 3 年之前
父節點
當前提交
c932c0f838
共有 1 個檔案被更改,包括 15 行新增9 行删除
  1. 15
    9
      client-data/tools/download/download.js

+ 15
- 9
client-data/tools/download/download.js 查看文件

50
         ).join("\n")
50
         ).join("\n")
51
 
51
 
52
         canvasCopy.appendChild(styleNode);
52
         canvasCopy.appendChild(styleNode);
53
-        downloadContent('data:image/svg+xml;charset=utf-8,' + encodeURIComponent(canvasCopy.outerHTML), "svg")
53
+        downloadContent(new Blob([canvasCopy.outerHTML || new XMLSerializer().serializeToString(canvasCopy)], { type: 'image/svg+xml;charset=utf-8' }), Tools.boardName + ".svg")
54
     }
54
     }
55
 
55
 
56
-    function downloadContent(href, type){
57
-        var element = document.createElement('a');
58
-        element.setAttribute('href', href);
59
-        element.setAttribute('download',  Tools.boardName + "." + type);
60
-        element.style.display = 'none';
61
-        document.body.appendChild(element);
62
-        element.click();
63
-        document.body.removeChild(element);
56
+    function downloadContent(blob, filename){
57
+        if (window.navigator.msSaveBlob) {
58
+            window.navigator.msSaveBlob(blob, filename);
59
+          } else {
60
+            const url = URL.createObjectURL(blob);
61
+            var element = document.createElement('a');
62
+            element.setAttribute('href', url);
63
+            element.setAttribute('download',  filename);
64
+            element.style.display = 'none';
65
+            document.body.appendChild(element);
66
+            element.click();
67
+            document.body.removeChild(element);
68
+            window.URL.revokeObjectURL(url);
69
+          }
64
     }
70
     }
65
 
71
 
66
     Tools.add({ //The new tool
72
     Tools.add({ //The new tool

Loading…
取消
儲存