जवाबों:
DOMContentLoaded घटना को निकाल दिया जाता है, जब दस्तावेज़ को पूरी तरह से लोड और पार्स किया गया है, लोडिंग खत्म करने के लिए स्टाइलशीट, छवियों और सबफ़्रेमियों के लिए प्रतीक्षा किए बिना (लोड घटना का उपयोग पूरी तरह से लोड किए गए पृष्ठ का पता लगाने के लिए किया जा सकता है)।
DOMContentLoaded
ईवेंट को सक्रिय जैसे ही डोम पदानुक्रम पूरी तरह से निर्माण किया गया है, होगा load
घटना यह करना होगा जब सभी छवियों और उप-फ़्रेम समाप्त लोड हो रहा है है।
DOMContentLoaded
अधिकांश आधुनिक ब्राउज़रों पर काम करेंगे, लेकिन IE पर IE9 और इसके बाद के संस्करण सहित नहीं । IE के पुराने संस्करणों पर इस घटना की नकल करने के लिए कुछ वर्कअराउंड हैं , जैसे कि jQuery लाइब्रेरी पर उपयोग किया जाता है, वे IE विशिष्ट onreadystatechange
इवेंट को संलग्न करते हैं ।
अंतर खुद देखें:
से Microsoft IE
DOMContentLoaded घटना वर्तमान पृष्ठ के पार्सिंग पूर्ण होने पर आग लग जाती है; जब सभी फाइलें विज्ञापनों और चित्रों सहित सभी संसाधनों से लोडिंग समाप्त कर देती हैं, तो लोड घटना की आग लग जाती है। DOMContentLoaded जटिल वेब पेजों के लिए UI कार्यक्षमता का उपयोग करने के लिए एक शानदार घटना है।
DOMContentLoaded घटना को निकाल दिया जाता है, जब दस्तावेज़ को पूरी तरह से लोड और पार्स किया गया है, लोडिंग खत्म करने के लिए स्टाइलशीट, छवियों और सबफ़्रेमियों के लिए प्रतीक्षा किए बिना (लोड घटना का उपयोग पूरी तरह से लोड किए गए पृष्ठ का पता लगाने के लिए किया जा सकता है)।
DOMContentLoaded
गारंटी है कि सभी लिपियों (डिफर / एस्किंक सहित) को लोड किया गया है? लिपियों के बारे में यहाँ कुछ नहीं कहा गया है: developer.mozilla.org/en-US/docs/Web/Events/DOMContentLoaded
DOMContentLoaded
==window.onDomReady()
Load
==window.onLoad()
दस्तावेज़ तैयार होने तक किसी पृष्ठ को सुरक्षित रूप से हेरफेर नहीं किया जा सकता है। jQuery आपके लिए इस तत्परता की स्थिति का पता लगाता है। $ (दस्तावेज़) (।) के अंदर शामिल कोड केवल तभी चलेगा जब पृष्ठ दस्तावेज़ ऑब्जेक्ट मॉडल (DOM) जावास्क्रिप्ट कोड को निष्पादित करने के लिए तैयार हो। $ (विंडो) (लोड) (फंक्शन () {...}) के अंदर शामिल कोड एक बार पूरे पृष्ठ (चित्र या आइफ्रेम्स) पर चलेगा, न कि केवल DOM, तैयार है।
देखें: http://learn.jquery.com/using-jquery-core/document-ready/
domContentLoaded : बिंदु को चिन्हित करता है जब दोनों DOM तैयार है और कोई स्टाइलशीट नहीं है जो JavaScript निष्पादन को रोक रही है - जिसका अर्थ है कि हम अब (संभवतः) रेंडर ट्री का निर्माण कर सकते हैं। कई जावास्क्रिप्ट फ्रेमवर्क इस घटना की प्रतीक्षा करते हैं इससे पहले कि वे अपने स्वयं के तर्क को निष्पादित करना शुरू कर दें। इस कारण से ब्राउज़र ईवेंटस्टार्ट और ईवेंट टाइमस्टैम्प को हमें ट्रैक करने की अनुमति देता है और यह ट्रैक करने में कितना समय लगा।
loadEvent : हर पेज में एक अंतिम चरण के रूप में ब्राउज़र लोड करता है एक "ऑनलोड" घटना जो अतिरिक्त एप्लिकेशन लॉजिक को ट्रिगर कर सकता है।
यहाँ कुछ कोड है जो हमारे लिए काम करता है। हमने पाया कि MSIE को हिट और मिस किया DomContentLoaded
जा सकता है, कोई देरी हो जाती है जब कोई अतिरिक्त संसाधन कैश नहीं किया जाता है (हमारे कंसोल लॉगिंग के आधार पर 300ms तक), और यह कैश होने पर बहुत तेजी से ट्रिगर होता है। इसलिए हमने MISE के लिए कमबैक का सहारा लिया। आप doStuff()
फ़ंक्शन को ट्रिगर करना चाहते हैं चाहे DomContentLoaded
आपकी बाहरी जेएस फ़ाइलों से पहले या बाद में ट्रिगर हो।
// detect MSIE 9,10,11, but not Edge
ua=navigator.userAgent.toLowerCase();isIE=/msie/.test(ua);
function doStuff(){
//
}
if(isIE){
// play it safe, very few users, exec ur JS when all resources are loaded
window.onload=function(){doStuff();}
} else {
// add event listener to trigger your function when DOMContentLoaded
if(document.readyState==='loading'){
document.addEventListener('DOMContentLoaded',doStuff);
} else {
// DOMContentLoaded already loaded, so better trigger your function
doStuff();
}
}