Procházet zdrojové kódy

improve handling of external svg sprites

Gildas před 4 roky
rodič
revize
30ef0a069a
1 změnil soubory, kde provedl 7 přidání a 2 odebrání
  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 response = await batchRequest.addURL(resourceURL);
 							const svgDoc = util.parseSVGContent(response.content);
 							const svgDoc = util.parseSVGContent(response.content);
 							try {
 							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) {
 							} catch (error) {
 								// ignored
 								// ignored
 							}
 							}