编程语言
首页 > 编程语言> > javascript – 为什么即使没有src标记,图像’完整’属性也总是返回true?

javascript – 为什么即使没有src标记,图像’完整’属性也总是返回true?

作者:互联网

我只是写

document.createElement("img").complete;//To check whether image is loaded or not

在Firefox中,它返回true.在IE中,它返回false

要么

在html页面中,只需创建一个图像:

 <!-- IMG tag with no SRC attribute. -->
<img id="noSrcImg" />

并在js中检查完整的属性值:

var img = document.getElementById("noSrcImg");
img.complete

对于FF,为true,对于IE为false

任何人都可以解释为什么这种不一致的行为?

有没有其他更好的方法来检查DOM中是否加载了图像?

我尝试使用readyState属性,但它不适用于IE11.

解决方法:

请尝试加载

还要确保在分配src之前定义了事件处理程序 – 在非常快的网络上,如果没有先定义,src可能会在事件处理程序之前加载

var im = document.createElement("img");
im.onload=function() { alert(this.src+' loaded')} // assign before src
im.onerror=function() { alert(this.src+' failed')} // if necessary
im.src="someimage.jpg";

标签:html,javascript,image,internet-explorer-11
来源: https://codeday.me/bug/20190722/1506844.html