فهرست منبع

improved 'save selection'

Gildas 7 سال پیش
والد
کامیت
743e4213b7
1فایلهای تغییر یافته به همراه13 افزوده شده و 6 حذف شده
  1. 13 6
      lib/single-file/single-file-core.js

+ 13 - 6
lib/single-file/single-file-core.js

@@ -968,15 +968,22 @@ this.SingleFileCore = this.SingleFileCore || (() => {
 			isolateParentElements(rootElement.parentElement, rootElement);
 
 			function isolateParentElements(parentElement, element) {
-				if (parentElement) {
-					Array.from(parentElement.childNodes).forEach(node => {
-						if (node != element && node.tagName != "STYLE") {
+				let elementFound = false;
+				Array.from(parentElement.childNodes).forEach(node => {
+					elementFound = elementFound || (node == element);
+					if (node != element && node.tagName != "STYLE" && node.tagName != "LINK") {
+						if (elementFound) {
 							node.remove();
+						} else {
+							node.hidden = true;
+							if (node.childNodes && node.childNodes.length) {
+								Array.from(node.childNodes).forEach(node => node.remove());
+							}
 						}
-					});
-				}
+					}
+				});
 				element = element.parentElement;
-				if (element && element.parentElement && element.parentElement.tagName != "BODY" && element.parentElement.tagName != "HTML") {
+				if (element && element.parentElement && element.parentElement.tagName != "HTML") {
 					isolateParentElements(element.parentElement, element);
 				}
 			}