8

属性の意味を誰かが説明できますcompleteか?

私はどこかでそれがDOMに関係しているかもしれないと読んだ。

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

3 に答える 3

11

属性completeは仕様によって定義された意味を持たず、おそらく効果はありません(ただし、メソッドで読み取ることはできますgetAttribute())。したがって、問題のコードはおそらくいくつかの誤解に基づいています。

HTML5ドラフトによると、インターフェイスに従って、要素に対応するオブジェクトのcomplete プロパティがあります。プロパティ定義は、基本的に、ブラウザが画像を完全に受信したときに値がtrueになることを意味します(ただし、ここには微妙な違いがあります)。これはブラウザによって制御され、読み込みステータスを反映するため、プロパティが読み取り専用として定義されているのは当然です。imgHTMLImageElementcomplete

このプロパティは広く存在するブラウザですが、明らかに壊れた方法です。img存在しないリソース(404 Not Found)を参照する要素がある場合、ChromeとFirefoxはプロパティがtrueの値を持っていることを示します(IEはここで物事を取得します: false)。そのため、当面はあまり役に立たない物件です。

HTMLで属性を設定しても、これには影響しません。HTML属性と要素オブジェクトのプロパティは、対応が定義されている場合にのみ相互に対応します。

于 2012-10-02T09:09:56.503 に答える
7

画像がダウンロードされたときに設定されます。

あなたの例のようにHTMLで明示的に見たことがありません(MDNはそれが要素の属性ではないと言っていますimg)。画像がJavaScriptでダウンロードされているかどうかを確認するために使用します(ただし、クロスブラウザの問題があります)。のプロパティは。をHTMLImageElement返しますBoolean

[].forEach.call(document.querySelector("img"), function(img) {
    // Loaded?
    img.complete && (img.style.border = "5px solid #f00");
});
于 2012-10-02T07:08:54.317 に答える
0

画像の読み込みが完了したかどうかを確認するために使用されます。

document.getElementsByTagName('img')[0].complete 

ロードが完了した場合はtrueを返し、そうでない場合はfalseを返します。ただし、例のように属性としては使用されません。

于 2012-10-02T07:13:55.860 に答える