2011-04-18 13 views
31

संभव डुप्लिकेट:
$(document).ready equivalent without jQueryयदि jQuery उपलब्ध नहीं है तो document.ready() को जांचने का कोई तरीका है?

मैं तुम्हें कार्यों को चलाने के बनाने के लिए window.onload घटना का उपयोग कर सकते हैं, लेकिन वहाँ यदि दस्तावेज़ के लिए तैयार है एक स्क्रिप्ट क्वेरी करने के लिए के लिए एक रास्ता है या नहीं?

तरह

function update() 
{ 
    if(!document.ready()) // don't do unless document loaded 
     return ; 
} 
window.setInterval('update();', 100) ; 

< शरीर > तत्व नहीं बदला जा सकता कुछ है, और कोई jQuery/अन्य पुस्तकालयों।

+0

@justkt ओपी एक तैयार बराबर के लिए खोज नहीं है, लेकिन क्वेरी करने के लिए एक विधि के लिए किया जाए या नहीं दस्तावेज़ तैयार हो गया है। –

+0

@ ime - तैयार यह जांचता है कि दस्तावेज़ तैयार हो गया है या नहीं, तो अगर कोई इससे बंधे हैं तो घटनाओं को आग लगती है। – justkt

+1

@justkt "तैयार" ईवेंट में एक हैंडलर बाध्यकारी एक बात है और यदि दस्तावेज़ तैयार है तो पूछताछ एक और बात है। ओपी उत्तरार्द्ध कर रहा है, और वह दूसरा प्रश्न पूर्व है। वे दो अलग-अलग चीजें हैं। –

उत्तर

65

ये रहा:

var tid = setInterval(function() { 
    if (document.readyState !== 'complete') return; 
    clearInterval(tid);  
    // do your work 
}, 100); 

पढ़ें document.readyState संपत्ति here के बारे में। मुझे यकीन नहीं है कि क्या सभी मौजूदा ब्राउज़र इसे लागू करते हैं।

+7

__Grrrrreat उत्तर !! __ परीक्षण क्रोम, आईई 6,7, और 9, फ़ायरफ़ॉक्स 4, ओपेरा 11 यह काम करता है। – bobobobo

+0

हां वास्तव में महान जवाब। सभी प्रमुख ब्राउज़रों में काम करता है। क्षमा करें, पोस्ट देर हो चुकी है, लेकिन अभी भी पूछना है, 100ms के लिए सेट इंटरवल करने की आवश्यकता क्यों है? यह अभी भी सेट अंतराल वस्तु के बिना जांच नहीं करेगा। –

+1

@Yegya 'setInterval' यह सुनिश्चित करता है कि जब तक दस्तावेज़ 'पूर्ण' न हो जाए तब तक हम * हर 100ms * बार-बार * जांचते रहें। –

2

चेकआउट https://github.com/jakobmattsson/onDomReady

यह कुछ पंक्तियां तुलना में अधिक जटिल है! - यदि आप एकाधिक ब्राउज़र अनुपालन चाहते हैं।

-6

इस कोड को सभी ब्राउज़रों में काम करेंगे

if(window.attachEvent()){ 

    window.attachEvent("onload",load); 

}else{ 

    window.addEventListener("load",load,true); 

} 

function load(){ 
    //Code to execute when the document is loaded. 
} 
+2

वह, फिर, लोड है, तैयार घटना नहीं। ये अलग हैं। –

संबंधित मुद्दे

 संबंधित मुद्दे