Parcourir la source

improve handling of external svg sprites

Gildas il y a 4 ans
Parent
commit
30ef0a069a
1 fichiers modifiés avec 7 ajouts et 2 suppressions
  1. 7 2
      lib/single-file/single-file-core.js

+ 7 - 2
lib/single-file/single-file-core.js

@@ -1917,8 +1917,13 @@ class ProcessorHelper {
 							const response = await batchRequest.addURL(resourceURL);
 							const svgDoc = util.parseSVGContent(response.content);
 							try {
-								const symbolElement = svgDoc.querySelector(hashMatch[0]);
-								resourceElement.parentElement.replaceChild(symbolElement, resourceElement);
+								const spriteElement = svgDoc.querySelector(hashMatch[0]);
+								if (spriteElement.tagName.toLowerCase() == "symbol") {
+									resourceElement.after(...spriteElement.childNodes);
+									resourceElement.remove();
+								} else {
+									resourceElement.parentElement.replaceChild(spriteElement, resourceElement);
+								}
 							} catch (error) {
 								// ignored
 							}