|
|
@@ -29,26 +29,28 @@ this.altImages = this.altImages || (() => {
|
|
|
const dataAttributeName = docHelper.responsiveImagesAttributeName(options.sessionId);
|
|
|
doc.querySelectorAll("picture").forEach(pictureElement => {
|
|
|
const imgElement = pictureElement.querySelector("img");
|
|
|
- let srcData = getImgSrcData(imgElement, options);
|
|
|
- let { src, srcset } = srcData;
|
|
|
- if (!src) {
|
|
|
- const sources = Array.from(pictureElement.querySelectorAll("source")).reverse();
|
|
|
- const data = getSourceSrcData(Array.from(sources));
|
|
|
- src = data.src;
|
|
|
- srcset = srcset || data.srcset;
|
|
|
- }
|
|
|
- if (!src && options.responsiveImageData) {
|
|
|
- const responsiveImageData = options.responsiveImageData[Number(imgElement.getAttribute(dataAttributeName))];
|
|
|
- if (responsiveImageData.src) {
|
|
|
- src = responsiveImageData.src;
|
|
|
- } else if (responsiveImageData.sources) {
|
|
|
- const sources = responsiveImageData.sources.reverse();
|
|
|
- const data = getSourceSrcData(sources);
|
|
|
+ if (imgElement) {
|
|
|
+ let srcData = getImgSrcData(imgElement, options);
|
|
|
+ let { src, srcset } = srcData;
|
|
|
+ if (!src) {
|
|
|
+ const sources = Array.from(pictureElement.querySelectorAll("source")).reverse();
|
|
|
+ const data = getSourceSrcData(Array.from(sources));
|
|
|
src = data.src;
|
|
|
srcset = srcset || data.srcset;
|
|
|
}
|
|
|
+ if (!src && options.responsiveImageData) {
|
|
|
+ const responsiveImageData = options.responsiveImageData[Number(imgElement.getAttribute(dataAttributeName))];
|
|
|
+ if (responsiveImageData.src) {
|
|
|
+ src = responsiveImageData.src;
|
|
|
+ } else if (responsiveImageData.sources) {
|
|
|
+ const sources = responsiveImageData.sources.reverse();
|
|
|
+ const data = getSourceSrcData(sources);
|
|
|
+ src = data.src;
|
|
|
+ srcset = srcset || data.srcset;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ setSrc({ src, srcset }, pictureElement.querySelector("img"), pictureElement);
|
|
|
}
|
|
|
- setSrc({ src, srcset }, pictureElement.querySelector("img"), pictureElement);
|
|
|
});
|
|
|
doc.querySelectorAll(":not(picture) > img[srcset]").forEach(imgElement => setSrc(getImgSrcData(imgElement, options), imgElement));
|
|
|
}
|