任何人都可以解釋屬性complete
的含義嗎?HTML img屬性「完整」
我在某處讀到它可能與DOM有關的內容。
<img src="/folder/pic.jpeg" complete="complete" />
任何人都可以解釋屬性complete
的含義嗎?HTML img屬性「完整」
我在某處讀到它可能與DOM有關的內容。
<img src="/folder/pic.jpeg" complete="complete" />
它在圖像下載完成時設置。
我從來沒有在HTML中明確地看到過它(如MDN表示它不是img
元素的屬性)。我只是用來檢查圖像是否已經用JavaScript下載(然而,這存在跨瀏覽器問題)。 HTMLImageElement
上的財產返回Boolean
。
[].forEach.call(document.querySelector("img"), function(img) {
// Loaded?
img.complete && (img.style.border = "5px solid #f00");
});
它用於檢查圖像是否已完成加載。
document.getElementsByTagName('img')[0].complete
如果加載完成則返回true,否則返回false。 但是,它不會像您的示例中那樣用作屬性。
屬性complete
沒有規定的含義,它可能沒有效果(雖然它可以用getAttribute()
方法讀取)。所以這個問題中的代碼可能是基於一些誤解。
根據HTML5匯票,存在用於相應的img
元件,具體根據HTMLImageElement
接口的對象的complete
屬性。 definition of the complete
property基本上意味着當瀏覽器完全接收圖像時該值爲true(儘管這裏有一些細微差別)。由於這是由瀏覽器控制的,反映了加載狀態,所以該屬性被定義爲只讀是自然的。
此屬性廣泛存在於瀏覽器中,但顯然是以破碎的方式:如果您的img
元素引用了不存在的資源(404 Not Found),則Chrome和Firefox會將該屬性指定爲true(IE在這裏得到的東西:假)。所以該物業暫時沒有多大用處。
在HTML中設置屬性對此沒有影響。僅當定義了對應關係時,HTML屬性和元素對象屬性才相互對應。
原來,IE錯了,至少[根據規範](http://www.w3.org/TR/html5/embedded-content-0.html#dom-img-complete)。我會說每個人都錯了 - 一個簡單的布爾值是不夠的。我們需要更穩健的狀態,例如加載,加載,未找到,無效格式等。 – gilly3
是否值得指出它是一個非標準的標籤,並且它是由一些JavaScript(可能在圖像的onload處理程序中)而不是瀏覽器本身添加的? – enhzflep
@Zaffy當然,但它有它自己的問題。 – alex
謝謝您的信息! – user1323246