HTMLImageElement:complete 属性
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Please help us by answering a few questions.
HTMLImageElement
接口的 complete
只读属性是一个布尔值,用于指示图像是否已完全加载。
值
示例
假设有这么一个图库应用程序,它能够以灯箱模式打开图像,以便更好地查看和编辑图像。这些照片可能非常大,所以你不想等待它们加载,因此你在代码中使用 async
/await
在后台加载图像。
但是想象一下,你还有其他一些仅需要在图像完成加载后运行的代码,例如对灯箱中的图像执行红眼消除的命令。理想情况下,如果图像尚未完全加载,则不会执行此命令,但为了提高可靠性,你需要检查以确保情况确实如此。
因此,触发红眼移除按钮会在调用 fixRedEyeCommand()
函数之前,先检查灯箱图像的 complete
属性的值,如下面的代码所示。
js
let lightboxElem = document.querySelector("#lightbox");
let lightboxImgElem = lightboxElem.querySelector("img");
let lightboxControlsElem = lightboxElem.querySelector(".toolbar");
async function loadImage(url, elem) {
return new Promise((resolve, reject) => {
elem.onload = () => resolve(elem);
elem.onerror = reject;
elem.src = url;
});
}
async function lightBox(url) {
lightboxElem.style.display = "block";
await loadImage("https://somesite.net/huge-image.jpg", lightboxImgElem);
lightboxControlsElem.disabled = false;
}
// …
function fixRedEyeCommand() {
if (lightboxElem.style.display === "block" && lightboxImgElem.complete) {
fixRedEye(lightboxImgElem);
} else {
/* 在图片完全加载之前不能开始这样做 */
}
}
规范
Specification |
---|
HTML # dom-img-complete-dev |
浏览器兼容性
Report problems with this compatibility data on GitHubdesktop | mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
complete |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.