|
|
@@ -696,18 +696,18 @@ this.SingleFileCore = this.SingleFileCore || (() => {
|
|
|
static resolveStylesheetURLs(stylesheetContent, baseURI) {
|
|
|
const urlFunctions = DomUtil.getUrlFunctions(stylesheetContent);
|
|
|
urlFunctions.map(urlFunction => {
|
|
|
- let resourceURL = DomUtil.matchURL(urlFunction);
|
|
|
- resourceURL = DomUtil.normalizeURL(resourceURL);
|
|
|
+ const originalResourceURL = DomUtil.matchURL(urlFunction);
|
|
|
+ const resourceURL = DomUtil.normalizeURL(originalResourceURL);
|
|
|
if (resourceURL && resourceURL != baseURI && DomUtil.testValidPath(resourceURL)) {
|
|
|
const resolvedURL = new URL(resourceURL, baseURI).href;
|
|
|
if (resourceURL != resolvedURL && stylesheetContent.includes(urlFunction)) {
|
|
|
- stylesheetContent = stylesheetContent.replace(DomUtil.getRegExp(urlFunction), urlFunction.replace(resourceURL, resolvedURL));
|
|
|
+ stylesheetContent = stylesheetContent.replace(DomUtil.getRegExp(urlFunction), urlFunction.replace(originalResourceURL, resolvedURL));
|
|
|
}
|
|
|
} else {
|
|
|
if (resourceURL.startsWith(DATA_URI_PREFIX)) {
|
|
|
const escapedResourceURL = resourceURL.replace(/&/g, "&").replace(/\u00a0/g, " ").replace(/</g, "<").replace(/>/g, ">");
|
|
|
if (escapedResourceURL != resourceURL && stylesheetContent.includes(urlFunction)) {
|
|
|
- stylesheetContent = stylesheetContent.replace(DomUtil.getRegExp(urlFunction), urlFunction.replace(resourceURL, escapedResourceURL));
|
|
|
+ stylesheetContent = stylesheetContent.replace(DomUtil.getRegExp(urlFunction), urlFunction.replace(originalResourceURL, escapedResourceURL));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -729,11 +729,11 @@ this.SingleFileCore = this.SingleFileCore || (() => {
|
|
|
stylesheetContent = DomProcessorHelper.resolveStylesheetURLs(stylesheetContent, baseURI);
|
|
|
const urlFunctions = DomUtil.getUrlFunctions(stylesheetContent);
|
|
|
await Promise.all(urlFunctions.map(async urlFunction => {
|
|
|
- let resourceURL = DomUtil.matchURL(urlFunction);
|
|
|
- resourceURL = DomUtil.normalizeURL(resourceURL);
|
|
|
+ const originalResourceURL = DomUtil.matchURL(urlFunction);
|
|
|
+ const resourceURL = DomUtil.normalizeURL(originalResourceURL);
|
|
|
if (resourceURL && resourceURL != baseURI && DomUtil.testValidPath(resourceURL) && stylesheetContent.includes(urlFunction)) {
|
|
|
const dataURI = await batchRequest.addURL(resourceURL);
|
|
|
- stylesheetContent = stylesheetContent.replace(DomUtil.getRegExp(urlFunction), urlFunction.replace(resourceURL, dataURI));
|
|
|
+ stylesheetContent = stylesheetContent.replace(DomUtil.getRegExp(urlFunction), urlFunction.replace(originalResourceURL, dataURI));
|
|
|
}
|
|
|
}));
|
|
|
return stylesheetContent;
|