From 1c4426ee688d4e8e4e1bd975c3e98af64e668166 Mon Sep 17 00:00:00 2001 From: wenjie wang Date: Tue, 25 Dec 2018 13:55:41 +0800 Subject: [PATCH] fixed btoa need ASCII string --- graph-editor.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/graph-editor.js b/graph-editor.js index f4ae666..0135e8e 100644 --- a/graph-editor.js +++ b/graph-editor.js @@ -365,8 +365,14 @@ window.onload = function() function updateSvgDownloadLink() { var rawSvg = new XMLSerializer().serializeToString(d3.select("#canvas svg" ).node()); - d3.select("#downloadSvgButton").attr('href', "data:image/svg+xml;base64," + btoa( rawSvg )); + d3.select("#downloadSvgButton").attr('href', "data:image/svg+xml;base64," + btoa( b64EncodeUnicode(rawSvg) )); } + function b64EncodeUnicode (str) { + return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, + function toSolidBytes (match, p1) { + return String.fromCharCode('0x' + p1) + })) + } var openConsoleWithCypher = function (evt) {