2012-11-12 9 views
5

:document.readyState üzerinde DOMContentLoaded? olay <code>DOMContentLoaded</code> ve mülk <code>document.readyState</code> destekleyen tarayıcılarda

DOMContentLoaded yangınlar, ben document.readyState değeri her zaman ya "complete" veya "interactive"/"loaded" olacağını varsayabiliriz?

(Ya da document.readyState bazen hala değerini "loading" almış olabilir?)

Cevaplarınızda yetkili bir kaynak bir başvuru sağlayın.

Sen merak edebilir: Neden sadece readystatechange dinlemek? Çünkü Android 2.3.5 standart tarayıcı bir hedef platformdur ve readystatechange olayını uygulamamaktadır.

+1

Neden sadece "DOMContentLoaded" dinlemiyorsunuz? ;-) –

+0

Android 2.3'ün readystatechange olayını desteklediğinden eminim, ancak sadece etkileşimli/tamamlanmış yerine yüklüyor. Araştırıp geri döneceğim. – dotnetCarpenter

+0

UPDATE - Gerçekten de haklısınız. Burada küçük bir test yaptım: http://test.it-kollektivet.dk/white-space/android2.3.html document.readyState'den aldığım tek değer ** yükleniyor ** ve ** yüklü **. – dotnetCarpenter

cevap

7

DOMContentLoaded, readyState özelliğinin değeri her zaman DOMContentLoaded kullanıma sunulduğunda "interactive" dur.

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

bir DOMContentLoaded işleyicisi ile değiştirilebilen Bu MDN documentation istemler gerçeği ile kanıtlanır. Bunu yineleyen here spesifikasyonuna da bakabilirsiniz.

+1

Ne yazık ki, bu Android 2.3.5'de doğru değil. Ben sadece bir test yaptım ve sonuç bana hiç beklenmedik bir şey oldu: "DOMContentLoaded" işlevi tetiklendiğinde, "document.readyState" değeri "yüklenmiştir" (yani ne "" tam ", ne de" etkileşimli ") 'ne de' 'yükleme ''). – feklee

+0

@feklee Alt kaynak olmadığı için, bunun nedeni DOMContentLoaded ve yükleme olayının eşzamanlı olarak tetiklenmesidir. Bağlı olduğum speklere daha yakından bakın. –

+0

Değer, "yükleniyor" değil, "yükleniyor" olduğunu unutmayın. Ayrıca, "load" (olay) olayı tetiklendiğinde, değer diğer tarayıcılarda olduğu gibi "yükleniyor". Dokümantasyon için bir soru sordum (http://stackoverflow.com/questions/13348029/values-for-document-readystate-in-android-2-3-browser). – feklee

İlgili konular