|
|
@@ -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);
|
|
|
}
|
|
|
}
|