|
|
@@ -325,9 +325,11 @@ this.SingleFileCore = this.SingleFileCore || (() => {
|
|
|
}
|
|
|
|
|
|
removeDiscardedResources() {
|
|
|
- const objectElements = this.doc.querySelectorAll("applet, meta[http-equiv=refresh], object:not([type=\"image/svg+xml\"]):not([type=\"image/svg-xml\"]):not([type=\"text/html\"]), embed:not([src*=\".svg\"]), link[rel*=preload], link[rel*=prefetch]");
|
|
|
+ const objectElements = this.doc.querySelectorAll("applet, meta[http-equiv=refresh], object:not([type=\"image/svg+xml\"]):not([type=\"image/svg-xml\"]):not([type=\"text/html\"]), embed:not([src*=\".svg\"])");
|
|
|
this.stats.set("discarded", "objects", objectElements.length);
|
|
|
objectElements.forEach(element => element.remove());
|
|
|
+ const replacedAttributeValue = this.doc.querySelectorAll("link[rel~=preconnect], link[rel~=prerender], link[rel~=dns-prefetch], link[rel~=preload], link[rel~=prefetch]");
|
|
|
+ replacedAttributeValue.forEach(element => element.setAttribute("rel", element.getAttribute("rel").replace(/(preconnect|prerender|dns-prefetch|preload|prefetch)/g, "")));
|
|
|
this.doc.querySelectorAll("[onload]").forEach(element => element.removeAttribute("onload"));
|
|
|
this.doc.querySelectorAll("[onerror]").forEach(element => element.removeAttribute("onerror"));
|
|
|
if (this.options.removeAudioSrc) {
|