From 3d7959a1af99963b8a06eef9fcee91dc067a87ad Mon Sep 17 00:00:00 2001 From: MoyuScript Date: Fri, 18 Aug 2017 22:22:24 +0800 Subject: [PATCH] Remove redundant style nodes from clone --- src/Clone.js | 4 +++- src/renderer/ForeignObjectRenderer.js | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Clone.js b/src/Clone.js index c77b722..c6feb31 100644 --- a/src/Clone.js +++ b/src/Clone.js @@ -93,7 +93,9 @@ export class DocumentCloner { for (let child = node.firstChild; child; child = child.nextSibling) { if (child.nodeType !== Node.ELEMENT_NODE || child.nodeName !== 'SCRIPT') { - clone.appendChild(this.cloneNode(child)); + if (!this.copyStyles || child.nodeName !== 'STYLE') { + clone.appendChild(this.cloneNode(child)); + } } } if (node instanceof HTMLElement && clone instanceof HTMLElement) { diff --git a/src/renderer/ForeignObjectRenderer.js b/src/renderer/ForeignObjectRenderer.js index 9414c25..81a10eb 100644 --- a/src/renderer/ForeignObjectRenderer.js +++ b/src/renderer/ForeignObjectRenderer.js @@ -44,6 +44,8 @@ export default class ForeignObjectRenderer { resolve(this.canvas); }; + img.onerror = reject; + img.src = `data:image/svg+xml;charset=utf-8,${encodeURIComponent( new XMLSerializer().serializeToString(svg) )}`;