在做多图大图页面的时候,经常需要先loading,等待image.onload 才放开loading,但是img.onload在图片从缓存/内存直接读取的时候,部分浏览器如safari/微信 不触发img.onload 事件,
这时可以直接用img的conplete 属性先行判断
var img = document.querySelector('img');
var isLoaded = image.complete && image.naturalHeight !== 0;
if (isLoaded) {
// from cache or memory
// do somthing...
} else {
img.onload = (e) => {
// do somthing...
}
}
网友评论