属性の意味を誰かが説明できますcomplete
か?
私はどこかでそれがDOMに関係しているかもしれないと読んだ。
<img src="/folder/pic.jpeg" complete="complete" />
属性の意味を誰かが説明できますcomplete
か?
私はどこかでそれがDOMに関係しているかもしれないと読んだ。
<img src="/folder/pic.jpeg" complete="complete" />
属性complete
は仕様によって定義された意味を持たず、おそらく効果はありません(ただし、メソッドで読み取ることはできますgetAttribute()
)。したがって、問題のコードはおそらくいくつかの誤解に基づいています。
HTML5ドラフトによると、インターフェイスに従って、要素に対応するオブジェクトのcomplete
プロパティがあります。プロパティの定義は、基本的に、ブラウザが画像を完全に受信したときに値がtrueになることを意味します(ただし、ここには微妙な違いがあります)。これはブラウザによって制御され、読み込みステータスを反映するため、プロパティが読み取り専用として定義されているのは当然です。img
HTMLImageElement
complete
このプロパティは広く存在するブラウザですが、明らかに壊れた方法です。img
存在しないリソース(404 Not Found)を参照する要素がある場合、ChromeとFirefoxはプロパティがtrueの値を持っていることを示します(IEはここで物事を取得します: false)。そのため、当面はあまり役に立たない物件です。
HTMLで属性を設定しても、これには影響しません。HTML属性と要素オブジェクトのプロパティは、対応が定義されている場合にのみ相互に対応します。
画像がダウンロードされたときに設定されます。
あなたの例のように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を返します。ただし、例のように属性としては使用されません。