Răsfoiți Sursa

tolerate missing content-types for images

Gildas 7 ani în urmă
părinte
comite
16daabc51c
1 a modificat fișierele cu 3 adăugiri și 2 ștergeri
  1. 3 2
      lib/single-file/single-file-core.js

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

@@ -1019,6 +1019,7 @@ this.SingleFileCore = this.SingleFileCore || (() => {
 	const PREFIX_DATA_URI_IMAGE_SVG = "data:image/svg+xml";
 	const PREFIX_DATA_URI_NO_MIMETYPE = "data:;";
 	const PREFIX_DATA_URI_OCTET_STREAM = /^data:(application|binary)\/octet-stream/;
+	const PREFIX_DATA_URI_NULL_STREAM = /^data:null;/;
 	const PREFIX_DATA_URI_VND = "data:application/vnd.";
 	const SINGLE_FILE_VARIABLE_NAME_PREFIX = "--sf-img-";
 
@@ -1334,7 +1335,7 @@ this.SingleFileCore = this.SingleFileCore || (() => {
 							if (removeElementIfMissing && content == EMPTY_DATA_URI) {
 								resourceElement.remove();
 							} else {
-								if (content.startsWith(prefixDataURI) || content.startsWith(PREFIX_DATA_URI_NO_MIMETYPE) || content.match(PREFIX_DATA_URI_OCTET_STREAM)) {
+								if (content.startsWith(prefixDataURI) || content.startsWith(PREFIX_DATA_URI_NO_MIMETYPE) || content.match(PREFIX_DATA_URI_OCTET_STREAM) || content.match(PREFIX_DATA_URI_NULL_STREAM)) {
 									const isSVG = content.startsWith(PREFIX_DATA_URI_IMAGE_SVG);
 									if (processDuplicates && duplicate && options.groupDuplicateImages && !isSVG) {
 										if (DomUtil.replaceImageSource(resourceElement, SINGLE_FILE_VARIABLE_NAME_PREFIX + indexResource, options)) {
@@ -1410,7 +1411,7 @@ this.SingleFileCore = this.SingleFileCore || (() => {
 							}
 							if (DomUtil.testValidURL(resourceURL, baseURI, options.url)) {
 								const { content } = await batchRequest.addURL(resourceURL);
-								if (!content.startsWith(prefixDataURI) && !content.startsWith(PREFIX_DATA_URI_NO_MIMETYPE) && !content.match(PREFIX_DATA_URI_OCTET_STREAM)) {
+								if (!content.startsWith(prefixDataURI) && !content.startsWith(PREFIX_DATA_URI_NO_MIMETYPE) && !content.match(PREFIX_DATA_URI_OCTET_STREAM) && !content.match(PREFIX_DATA_URI_NULL_STREAM)) {
 									resourceElement.setAttribute(attributeName, EMPTY_IMAGE);
 								}
 								return content + (srcsetValue.w ? " " + srcsetValue.w + "w" : srcsetValue.d ? " " + srcsetValue.d + "x" : "");