Genel fikir olduğunu window.onload yangınları belgenin pencere olduğunda sunum için hazır ve document.onload yangınları zaman DOM ağacı (belge içinde işaretleme kodundan inşa edilmiş) olan tamamlandı .
İdeal olarak, DOM ağacı olaylarına abone olmak , Javascript aracılığıyla ekran dışı manipülasyonlara izin verir ve neredeyse hiç CPU yükü yaratmaz . Aksine, window.onloadolabilir yangına bir süre alabilir , birden fazla harici kaynaklar, istenen ayrıştırılır ve yüklenecek henüz varken.
►Test senaryosu:
Farkı ve gözlemlemek nasıl tarayıcı seçim ait aletlerin yukarıda belirtilen olay işleyicileri -, sadece belgenin içinde aşağıdaki kodu ekleyin <body>- etiketinin.
<script language="javascript">
window.tdiff = []; fred = function(a,b){return a-b;};
window.document.onload = function(e){
console.log("document.onload", e, Date.now() ,window.tdiff,
(window.tdiff[0] = Date.now()) && window.tdiff.reduce(fred) );
}
window.onload = function(e){
console.log("window.onload", e, Date.now() ,window.tdiff,
(window.tdiff[1] = Date.now()) && window.tdiff.reduce(fred) );
}
</script>
►Result:
Chrome v20 (ve muhtemelen en güncel tarayıcılar) için gözlemlenebilen sonuç davranışı aşağıda verilmiştir.
document.onloadEtkinlik yok .
onloadiçinde bildirildiğinde iki kez, içinde bildirildiğinde bir <body>kez <head>(etkinliğin daha sonra olduğu gibi document.onload).
- sayacın durumuna bağlı olarak sayma ve hareket etme her iki olay davranışını da taklit etmeyi sağlar.
- Alternatif olarak,
window.onloadolay işleyicisini HTML <head>öğesinin sınırları içinde bildirin .
►Örnek Proje:
Yukarıdaki kod bu projenin kod tabanından ( index.htmlve keyboarder.js) alınmıştır.
Pencere nesnesinin olay işleyicilerinin listesi için lütfen MDN belgelerine bakın.
windowolayları açıklar :onloadveDOMContentLoaded. Kullanım örneği :,window.addEventListener('DOMContentLoaded', callback). 2019 ortasından itibaren tüm büyük tarayıcılarla uyumludur. ----- developer.mozilla.org/en-US/docs/Web/API/Window/… ------ developer.mozilla.org/en-US/docs/Web/API/Window/load_event