HTMLImageElement: complete ããããã£
Baseline
åºãå©ç¨å¯è½
ãã®æ©è½ã¯åºãå®è£ ããã¦ãããå¤ãã®ãã¼ã¸ã§ã³ã®ç«¯æ«ããã©ã¦ã¶ã¼ã§åä½ãã¾ãã2015å¹´7æä»¥éããã¹ã¦ã®ãã©ã¦ã¶ã¼ã§å©ç¨å¯è½ã§ãã
HTMLImageElement ã¤ã³ã¿ã¼ãã§ã¤ã¹ã® complete ããããã£ã¯èªã¿åãå°ç¨ã§ãç»åã®èªã¿è¾¼ã¿ãå®äºãããã©ããã示ãè«çå¤ã§ãã
å¤
è«çå¤ã§ãç»åã®èªã¿è¾¼ã¿ãå®äºããå ´å㯠true ã¨ãªãã¾ãã
ãã以å¤ã®å ´å㯠false ã¨ãªãã¾ãï¼
以ä¸ã®ãããããæºããå ´åãç»åã®èªã¿è¾¼ã¿ãå®äºããã¨è¦ãªããã¾ãã
src屿§ãsrcset屿§ãæå®ããã¦ããªãå ´åsrcset屿§ãåå¨ãããsrc屿§ã¯æå®ããã¦ãã¦ã空æåå ("") ã§ããå ´å- ç»åãªã½ã¼ã¹ãå®å ¨ã«åå¾ãããã¬ã³ããªã³ã°/åæã®ããã«ãã¥ã¼ã«å ¥ããããå ´å
- ç»åè¦ç´ ãäºåã«ãç»åãå®å ¨ã«å©ç¨å¯è½ã§ããã使ç¨å¯è½ã§ããã¨å¤æãã¦ããå ´å
- ç»åããå£ãã¦ããããã¤ã¾ããã¨ã©ã¼ãçºçããããç»åã®èªã¿è¾¼ã¿ãç¡å¹ã«ãªã£ã¦ããããã«ç»åã®èªã¿è¾¼ã¿ãã§ããªãå ´å
ç»åãéåæã§åãåãå¯è½æ§ããããããã¹ã¯ãªããã®å®è¡ä¸ã« complete ã®å¤ã夿´ãããå¯è½æ§ããããã¨ã«çæãã¦ãã ããã
ä¾
ç»åãã©ã¤ãããã¯ã¹ã¢ã¼ãã§éãã¦ãè¦ãããããããç»åãç·¨éãããã§ãããã©ãã©ã¤ãã©ãªã¼ã¢ããªãèãã¦ã¿ã¾ãããããããã®åçã¯é常ã«å¤§ããã®ã§ãèªã¿è¾¼ã¿ãå¾
ã¤å¿
è¦ããªããªããããã³ã¼ãã§ã¯ async/await ã使ç¨ãã¦ããã¯ã°ã©ã¦ã³ãã§ç»åãèªã¿è¾¼ãã§ãã¾ãã
ããããç»åã®èªã¿è¾¼ã¿ãå®äºããã¨ãã«ã®ã¿å®è¡ããå¿ è¦ãããä»ã®ã³ã¼ããããã¨ãã¾ãã ä¾ãã°ãã©ã¤ãããã¯ã¹å ã®ç»åã«å¯¾ãã¦èµ¤ç®é¤å»ãå®è¡ããã³ãã³ããªã©ã§ããçæ³çã«ã¯ãç»åãå®å ¨ã«èªã¿è¾¼ã¾ãã¦ããªããã°ãã®ã³ãã³ãã¯å®è¡ããã¾ããããä¿¡é ¼æ§ãåä¸ãããããã«ããããäºå®ã§ãããã¨ã確èªããå¿ è¦ãããã¾ãã
ããã§ã赤ç®é¤å»ã®ããªã¬ã¼ã¨ãªããã¿ã³ããå¼ã³åºããã fixRedEyeCommand() 颿°ã¯ãå¦çãå®è¡ããåã«ã©ã¤ãããã¯ã¹ç»åã® complete ããããã£ã®å¤ããã§ãã¯ãã¾ããããã¯ä»¥ä¸ã®ã³ã¼ãã§å®è¨¼ããã¦ãã¾ãã
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 {
/* ç»åãå®å
¨ã«èªã¿è¾¼ã¾ããã¾ã§éå§ãããã¨ã¯ã§ããªã */
}
}
仿§æ¸
| 仿§æ¸ |
|---|
| HTML > # dom-img-complete-dev > |