2011-06-01 11 views
7

कोर पर, यह एक जावास्क्रिप्ट प्रश्न है लेकिन मैं jQuery के साथ ईवेंट को इंटरफेस कर रहा हूं।

यहाँ एक उदाहरण मामला है:

<html> 
    <head> 
    <script src="waiting_on_ready.js" /> 
    </head> 
    <body> 
    <script src="http://somewhere.com/not_cached.js"></script> 
    </body> 
</html> 

waiting_on_ready.js में $ .ready कॉलबैक not_cached.js लोड करने के लिए के लिए इंतजार करना है करता है? क्या यह not_cached.js निष्पादित करने की प्रतीक्षा करता है?

+1

हो सकता है कि आप एक चेतावनी डाल सकें और – zod

+0

http://stackoverflow.com/questions/1213281/does-javascript-have-to-be-in-the-head-tags – zod

उत्तर

9

हाँ और हाँ।

<script> तत्वों के निष्पादन जब एचटीएमएल 5 "async" attribute का उपयोग कर तुल्यकालिक को छोड़कर है। जावास्क्रिप्ट का सिंक्रोनस निष्पादन आवश्यक है (जब तक अन्यथा अनुरोध न किया जाए) क्योंकि जावास्क्रिप्ट document.write, आदि के माध्यम से दस्तावेज़ स्ट्रीम को संशोधित कर सकता है (हालांकि, संसाधनों का वास्तविक आचरण समानांतर में हो सकता है।)

हैप्पी कोडिंग।

+0

धन्यवाद! क्या कोई ऐसी घटना है जो बाहरी स्क्रिप्ट लोड होने से पहले आग लगती है, लेकिन डोम हस्तक्षेप करने के लिए तैयार होने के बाद? या डीओएम तैयार नहीं है, परिभाषा के अनुसार, लोड और/या निष्पादित किए गए हैं? – Aaron

+1

@Aaron यह तैयार होने तक तैयार नहीं है :) स्क्रिप्ट तत्वों का निष्पादन डीओएम को तैयार होने से रोकता है (उदाहरण के लिए " को पढ़ने से रोकता है", क्योंकि धारा को संशोधित किया जा सकता है) जब तक वे दौड़ नहीं लेते हैं। याद रखें, पहला स्क्रिप्ट तत्व सभी अनुवर्ती स्क्रिप्ट तत्वों से पहले चलाया जाता है और इसका उपयोग किया जा सकता है। ध्यान दें कि "चल रहा है" का मतलब है कि कोड निष्पादित किया गया है - यदि उन स्क्रिप्ट में टाइमर और/या अन्य घटनाएं सेट की गई हैं तो उन टाइमर को लोड होने के बाद ट्रिगर हो सकता है। –

+0

@ हारून ओहहोह !!! मेरा जवाब बताता है कि। – Kayla

1

$(document).ready()not_cached.js से पहले ट्रिगर नहीं किया जाएगा लोड और निष्पादित करने के लिए (यह मानते हुए not_chached.js में निष्पादन तुल्यकालिक है)

0

के बाद पृष्ठ पूरी तरह लोड $.ready स्क्रिप्ट निष्पादित करता है, as the onload event does, एक इनलाइन स्क्रिप्ट तो पाया जाता है लेकिन यदि इसे निष्पादित किया जाता है।

5

तैयार आग जब सभी डोम तत्व हेरफेर के लिए तैयार होते हैं।

जब ब्राउज़र एक स्क्रिप्ट तत्व में आता है, तो स्क्रिप्ट निष्पादित होने तक डोम पार्सिंग बंद हो जाती है, इसलिए यह सब कैसे काम करता है, यह सभी स्क्रिप्ट लोड होने के बाद आग लगती है।

+0

मुझे इसे पीएसटी देना था क्योंकि वह सही प्रतिक्रिया के साथ पहले था। हालांकि धन्यवाद! एक अपवित्र है :) – Aaron

+0

मेरा जवाब पहले गलत था, इसलिए मैं इसके साथ रहूंगा। कुछ भी बेहतर नहीं है तो कुछ भी बेहतर है। :) – Kayla

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