File tree Expand file tree Collapse file tree 1 file changed +11
-3
lines changed Expand file tree Collapse file tree 1 file changed +11
-3
lines changed Original file line number Diff line number Diff line change @@ -101,6 +101,17 @@ export function loadImage(
101101 image : HTMLImageElement ,
102102 onImageLoad ?: ( image : HTMLImageElement ) => void ,
103103) {
104+ const isChildOfPictureElement = image . parentElement ?. tagName . toLowerCase ( ) === 'picture'
105+
106+ // Skip preloading its `data-src` or `data-srcset` to avoid unnecessary requests
107+ if ( isChildOfPictureElement ) {
108+ updatePictureSources ( image )
109+ updateImageSrcset ( image )
110+ updateImageSrc ( image )
111+ onImageLoad ?.( image )
112+ return
113+ }
114+
104115 const imagePreLoader = new Image ( )
105116 const { srcset, src, sizes } = image . dataset
106117
@@ -114,9 +125,6 @@ export function loadImage(
114125 imagePreLoader . sizes = image . sizes
115126 }
116127
117- // Update sources to prevent duplicate downloads
118- updatePictureSources ( image )
119-
120128 if ( srcset )
121129 imagePreLoader . srcset = srcset
122130 if ( src )
You can’t perform that action at this time.
0 commit comments