Gildas 7 лет назад
Родитель
Сommit
a605ea7a3b
1 измененных файлов с 15 добавлено и 2 удалено
  1. 15 2
      lib/single-file/single-file-core.js

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

@@ -886,8 +886,21 @@ this.SingleFileCore = this.SingleFileCore || (() => {
 				if (scriptElement.src) {
 					this.stats.add("processed", "scripts", 1);
 					const content = await DocUtil.getContent(scriptElement.src, { asDataURI: false, maxResourceSize: this.options.maxResourceSize, maxResourceSizeEnabled: this.options.maxResourceSizeEnabled });
-					let scriptContent = content.data.replace(/<\//gi, "\\x3c/").replace(/\/>/gi, "/\\x3c");
-					scriptElement.textContent = scriptContent;
+					let scriptContent = content.data.replace(/<\//gi, "<\\/");
+					try {
+						new Function(scriptContent);
+					} catch (error) {
+						scriptContent = content.data.replace(/<\//gi, "<\\\\/");
+					}
+					try {
+						new Function(scriptContent);
+						scriptContent = scriptContent.replace(/\/>/gi, "\\/>");
+					} catch (error) {
+						// ignored
+					}
+					if (scriptContent) {
+						scriptElement.textContent = scriptContent;
+					}
 				}
 				scriptElement.removeAttribute("src");
 			}));