我正在尝试使用解码功能准备大图像以将其安装在DOM中,但是Internet Explorer没有解码功能。如何检测Internet Explorer何时解码图像并准备好将其安装在DOM中?
if (bgimageEl.decode) {
var promise = bgimageEl.decode();
if (promise) {
promise.then(function() {
showElements();
});
} else {
showElements();
}
}else {
}
答案 0 :(得分:0)
IE不支持decode()
。我认为我们只能使用类似的功能HTMLImageElement.complete
来检测图像是否已完全加载。如果是,那么我们显示图像(图像先隐藏)。
示例代码:
var img = document.querySelector('img')
function loaded() {
img.style.display = 'block';
alert('loaded')
}
if (img.complete) {
loaded()
} else {
img.addEventListener('load', loaded)
img.addEventListener('error', function() {
alert('error')
})
}
<img src="https://i.imgur.com/3q3kNGh.png" style="display:none;" />