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.onload
olabilir 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.onload
Etkinlik yok .
onload
iç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.onload
olay işleyicisini HTML <head>
öğesinin sınırları içinde bildirin .
►Örnek Proje:
Yukarıdaki kod bu projenin kod tabanından ( index.html
ve keyboarder.js
) alınmıştır.
Pencere nesnesinin olay işleyicilerinin listesi için lütfen MDN belgelerine bakın.
window
olayları açıklar :onload
veDOMContentLoaded
. 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