HTMLImageElement: loading property
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.
The loading
property of the HTMLImageElement
interface provides a hint to the user agent on how to handle the loading of the image which is currently outside the window's visual viewport. This helps to optimize the loading of the document's contents by postponing loading the image until it's expected to be needed, rather than immediately during the initial page load. It reflects the <img>
element's loading
content attribute.
Value
A string. For the permitted values, see the HTML <img>
reference.
Examples
The addImageToList()
function shown below adds a photo thumbnail to a list of items, using lazy-loading to avoid loading the image from the network until it's actually needed.
function addImageToList(url) {
const list = document.querySelector("div.photo-list");
const newItem = document.createElement("div");
newItem.className = "photo-item";
const newImg = document.createElement("img");
newImg.loading = "lazy";
newImg.width = 320;
newImg.height = 240;
newImg.src = url;
newItem.appendChild(newImg);
list.appendChild(newItem);
}
Specifications
Specification |
---|
HTML> # dom-img-loading> |
Browser compatibility
Loading…
See also
- The
<img>
element - Web performance in the MDN Learning Area
- Lazy loading in the MDN web performance guide