2012-11-12 3 views
5

?イベント<code>DOMContentLoaded</code>と財産<code>document.readyState</code>をサポートするブラウザで

DOMContentLoaded火災は、私がdocument.readyStateの値は常に"complete"または"interactive"/"loaded"のいずれかになりますと仮定することができますか?

(それともdocument.readyStateは時々、まだ値"loading"を持っていることだろうか?)

あなたの答えでは、信頼できるソースへの参照を提供してください。

あなたは疑問に思うかもしれません:ただreadystatechangeを聞くのはなぜですか?これは、Android 2.3.5標準ブラウザがターゲットプラットフォームであり、readystatechangeイベントを実装していないためです。

+1

「DOMContentLoaded」を聞くのはなぜですか? ;-) –

+0

私はAndroid 2.3がreadystatechangeイベントをサポートしていると確信していますが、インタラクティブ/完了の代わりに読み込まれます。私は調査して戻ってきます。 – dotnetCarpenter

+0

更新 - 確かにあなたは正しいです。私はここで小さなテストを行った:http://test.it-kollektivet.dk/white-space/android2.3.htmlしかし、私がdocument.readyStateから得る唯一の値は**読み込み**と**読み込まれている**。 – dotnetCarpenter

答えて

7

DOMContentLoadedが発効したとき、readyStateプロパティの値は常に"interactive"です。

// alternative to DOMContentLoaded event 
document.onreadystatechange = function() { 
    if (document.readyState == "interactive") { 
    initApplication(); 
    } 
} 

DOMContentLoadedハンドラと交換可能です。これは、MDN documentationクレームがあるという事実によって証明されます。 hereのスペックを見ることもできます。これはこれを繰り返します。

+1

残念ながら、これはAndroid 2.3.5では正しくありません。 'DOMContentLoaded'が起動すると、' document.readyState'の値は ''ロードされた ''です(つまり、 '' complete ''や' 'interactive' 'も実行されませんでした) '、' '読み込み中 '')。 – feklee

+0

@fekleeこれは、サブリソースがないためである必要があります。この場合、DOMContentLoadedとロードイベントが同時に発生します。私がリンクしている仕様を詳しく見てください。 –

+0

この値は ''読み込まれた ''であり、 ''読み込まれる ''ではないことに注意してください。さらに、 '' load''イベントが発生すると、その値は他のブラウザと同様に ''読み込み中 ''になります。私は[関連する質問](http://stackoverflow.com/questions/13348029/values-for-document-readystate-in-android-2-3-browser)を作成し、文書を求めました。 – feklee

関連する問題