मैं window.onload और document.onload घटनाओं के साथ परेशानी हो रही हूँ। जो कुछ भी मैंने पढ़ा है, वह मुझे बताता है कि जब तक डोम अपने सभी संसाधनों से पूरी तरह से लोड नहीं हो जाता है, ऐसा लगता है कि यह मेरे लिए नहीं हो रहा है:window.onload से पहले डोम भरी हुई है को गति प्रदान करने लगता है (जावास्क्रिप्ट)
मैंने क्रोम 4.1.249.1036 (41514) में निम्नलिखित सरल पृष्ठ को आजमाया और आईई 8.0.7600.16385 एक ही परिणाम के साथ: दोनों ने "यह असफल रहा" संदेश प्रदर्शित किया, यह दर्शाता है कि मेरा पैराग्राफ लोड नहीं हुआ है (और इसलिए डोम अधूरा लगता है)।
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<script type="text/javascript">
window.onload = doThis();
// document.onload gives the same result
function doThis() {
if (document.getElementById("myParagraph")) {
alert("It worked!");
} else {
alert("It failed!");
}
}
</script>
</head>
<body>
<p id="myParagraph">Nothing is here.</p>
</body>
</html>
मैं बाहरी .js फ़ाइल में इसकी तुलना में अधिक जटिल स्क्रिप्ट का उपयोग कर रहा हूं, लेकिन यह समस्या को दर्शाता है। मैं वह window.onload के लिए टाइमर सेट होने से काम कर प्राप्त कर सकते हैं आधे सेकंड doThis() को चलाने के लिए, लेकिन यह एक असजीला समाधान की तरह लगता है, और क्यों window.onload क्या करना है नहीं लगता है इस सवाल का जवाब नहीं है हर कोई कहता है कि यह करता है। एक अन्य समाधान एक टाइमर है कि अगर डोम भरी हुई है की जाँच करेगा स्थापित करने के लिए किया जाएगा, और यदि नहीं यह सिर्फ खुद आधे सेकंड बाद में फोन करेंगे (इसलिए यह जब तक डोम भरी हुई है जाँच रखेंगे), लेकिन यह मेरे लिए बहुत जटिल लगता है। क्या उपयोग करने के लिए कोई और उचित घटना है?
पहले गलती है कि मुझे लगता है कि आप [समारोह परिणाम] के बजाय [समारोह] ही assing है मत करो।क्या आप देख सकते हैं 'doThis()' एक ऐसा बयान है जो मूल्यांकन के बाद अपरिभाषित लौटाता है क्योंकि 'doThis' में' वापसी 'ऑपरेटर नहीं है। 'window.onload = doThis; 'नौकरी करेगा। ध्यान दें कि – Dan
@ डेविड मैसन डब्ल्यू 3 स्कूल्स कोई जानकारी नहीं है। वे किसी भी तरह से डब्ल्यू 3 सी से संबद्ध नहीं हैं। * मत *, जानकारी का एक आधिकारिक स्रोत के रूप w3schools इलाज के लिए उन्हें जिस तरह से वे व्यवहार पाने के पात्र का इलाज: उपद्रव लिंक आप पर छोड़ जब आप एक असली संदर्भ वेबसाइट के लिए खोज है। – doug65536
@ doug65536 वर्तमान में मैं पूरी तरह से सहमत हूं। मैं किसी भी व्यक्ति के लिए w3fools.com की अनुशंसा करता हूं जो अनिश्चित है। मैं उच्च गुणवत्ता की जानकारी इन दिनों के लिए developer.mozilla.org के लिए सीधे जाने के लिए करते हैं, तो एक और अधिक व्यापक खोज करते हैं, तो मुझे लगता है मैं वहाँ के लिए क्या देख रहा हूँ (जो आम तौर पर जब मैं कुछ हास्यास्पद करने के लिए कोशिश कर रहा हूँ नहीं मिल रहा है)। मैं बहुत शर्मिंदा हूं कि पिछले-मैंने पोस्ट किया था ... लेकिन मैं इसे हटा सकता हूं! वहां, इंटरनेट पर w3schools के लिए एक कम बेवकूफ संदर्भ :) इसे खोजने के लिए धन्यवाद। –