सामान्य विचार यह है कि window.onload फायर तब होता है जब डॉक्यूमेंट की विंडो प्रेजेंटेशन और डॉक्यूमेंट के लिए तैयार होती है। डोनलोड तब होता है जब DOM ट्री (डॉक्यूमेंट के भीतर मार्कअप कोड से निर्मित) पूरा हो जाता है ।
आदर्श रूप से, DOM- ट्री इवेंट्स की सदस्यता लेते हुए , जावास्क्रिप्ट के माध्यम से ऑफ़स्क्रीन-जोड़तोड़ की अनुमति देता है, लगभग कोई सीपीयू लोड नहीं करता है । इसके विपरीत, window.onload
कर सकते हैं आग करने के लिए कुछ समय ले , कई बाह्य संसाधनों में अभी तक जब, अनुरोध किया जाना पार्स और भरी हुई।
सबसे अच्छा परिदृश्य:
अंतर का निरीक्षण करने के लिए और आपकी पसंद का ब्राउज़र उपरोक्त घटना संचालकों को कैसे लागू करता है , बस अपने दस्तावेज़ के टैग में निम्नलिखित कोड डालें।<body>
<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:
यहां क्रोम v20 (और शायद सबसे वर्तमान ब्राउज़र) के लिए देखने योग्य परिणाम है।
- कोई
document.onload
घटना नहीं ।
onload
जब दो बार आग लगती है <body>
, तो एक बार जब अंदर घोषित किया जाता है <head>
(जहां घटना तब काम करती है document.onload
)।
- काउंटर की स्थिति पर निर्भर मतगणना और अभिनय दोनों घटना व्यवहार का अनुकरण करने की अनुमति देता है।
- वैकल्पिक रूप
window.onload
से HTML- <head>
तत्व की सीमा के भीतर ईवेंट हैंडलर घोषित करें ।
AmpleExample प्रोजेक्ट:
उपरोक्त कोड इस परियोजना के कोडबेस ( index.html
और keyboarder.js
) से लिया गया है ।
विंडो ऑब्जेक्ट के ईवेंट हैंडलर की सूची के लिए , कृपया MDN प्रलेखन देखें।
window
घटनाओं की व्याख्या करता है:onload
औरDOMContentLoaded
। प्रयोग उदाहरण :,window.addEventListener('DOMContentLoaded', callback)
। 2019 के मध्य तक, सभी प्रमुख ब्राउज़रों के साथ संगत। ----- developer.mozilla.org/en-US/docs/Web/API/Window/... ------ developer.mozilla.org/en-US/docs/Web/API/Window/load_event