|
@@ -111,24 +111,32 @@ this.SingleFile = this.SingleFile || (() => {
|
|
|
if (!charSet) {
|
|
if (!charSet) {
|
|
|
charSet = "utf-8";
|
|
charSet = "utf-8";
|
|
|
}
|
|
}
|
|
|
|
|
+ const arrayBuffer = await resourceContent.arrayBuffer();
|
|
|
|
|
+ if (DEBUG) {
|
|
|
|
|
+ log(" // ENDED download url =", resourceURL, "delay =", Date.now() - startTime);
|
|
|
|
|
+ }
|
|
|
try {
|
|
try {
|
|
|
- const arrayBuffer = await resourceContent.arrayBuffer();
|
|
|
|
|
- if (DEBUG) {
|
|
|
|
|
- log(" // ENDED download url =", resourceURL, "delay =", Date.now() - startTime);
|
|
|
|
|
- }
|
|
|
|
|
- const textContent = (new TextDecoder(charSet)).decode(arrayBuffer);
|
|
|
|
|
- if (options.maxResourceSizeEnabled && textContent.length > options.maxResourceSize * ONE_MB) {
|
|
|
|
|
|
|
+ return getTextContent(charSet, arrayBuffer, options);
|
|
|
|
|
+ } catch (error) {
|
|
|
|
|
+ try {
|
|
|
|
|
+ return getTextContent("utf-8", arrayBuffer, options);
|
|
|
|
|
+ } catch (error) {
|
|
|
return "";
|
|
return "";
|
|
|
- } else {
|
|
|
|
|
- return textContent;
|
|
|
|
|
}
|
|
}
|
|
|
- } catch (error) {
|
|
|
|
|
- return "";
|
|
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ function getTextContent(charSet, arrayBuffer, options) {
|
|
|
|
|
+ const textContent = (new TextDecoder(charSet)).decode(arrayBuffer);
|
|
|
|
|
+ if (options.maxResourceSizeEnabled && textContent.length > options.maxResourceSize * ONE_MB) {
|
|
|
|
|
+ return "";
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return textContent;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
const REGEXP_SIMPLE_QUOTES_STRING = /^'(.*?)'$/;
|
|
const REGEXP_SIMPLE_QUOTES_STRING = /^'(.*?)'$/;
|
|
|
const REGEXP_DOUBLE_QUOTES_STRING = /^"(.*?)"$/;
|
|
const REGEXP_DOUBLE_QUOTES_STRING = /^"(.*?)"$/;
|
|
|
|
|
|