HTML img属性“完成”

时间:2012-10-02 07:06:59

标签: html image complete

任何人都可以解释属性complete的含义吗?

我在某处读到它可能与DOM有关。

<img src="/folder/pic.jpeg" complete="complete" /> 

3 个答案:

答案 0 :(得分:11)

属性complete没有按规范定义的含义,它可能没有效果(尽管可以使用getAttribute()方法读取)。所以问题中的代码可能是基于一些误解。

根据HTML5草案,根据complete界面,对应img元素的对象有HTMLImageElement 属性definition of the complete property基本上意味着当浏览器完全接收到图像时该值为true(尽管这里有一些细微差别)。由于这是由浏览器控制的,反映了加载状态,因此将属性定义为只读属性是很自然的。

此属性是广泛存在的浏览器,但显然是以一种破碎的方式:如果您有img元素引用不存在的资源(404 Not Found),则Chrome和Firefox会将该属性指示为具有该值是的(IE在这里得到的东西:假)。因此,该物业暂时没有多大用处。

在HTML中设置属性对此没有影响。 HTML属性和元素对象属性仅在定义了对应关系时才相互对应。

答案 1 :(得分:7)

下载图像时设置。

我从未在您的示例中明确地在HTML中看到它(MDN表示它不是img元素的属性)。我只是用来检查图像是否已经使用JavaScript下载(但是存在跨浏览器问题)。 HTMLImageElement上的媒体资源返回Boolean

[].forEach.call(document.querySelector("img"), function(img) {
    // Loaded?
    img.complete && (img.style.border = "5px solid #f00");
});

答案 2 :(得分:0)

用于检查图像是否已完成加载。

document.getElementsByTagName('img')[0].complete 
如果加载完成,

返回true,否则返回false。 但是,它不会像您的示例中那样用作属性。