दिलचस्प पोस्ट
आप PHP स्ट्रिंग को कैसे एन्क्रिप्ट और डिक्रिप्ट कर सकते हैं? एक्शनबर्सरलॉक + टैब + बहु टुकड़े? HTML5 में पॉलीफिल का क्या अर्थ है? गैर-आदिम लांग मान 127 और 128 की तुलना करें @ संश्लेषण बनाम @ गतिशील, अंतर क्या हैं? NSTask – objective-c का उपयोग कैसे करें जावा सॉकेट / सीरियललाइज़ेशन, ऑब्जेक्ट अपडेट नहीं होगा मैं एंड्रॉइड एक्सेलेरोमीटर का उपयोग कैसे करूं? एक बाहरी फाइल सिस्टम या डेटाबेस से फेसलेट टेम्पलेट / फ़ाइलें प्राप्त करना हमेशा JSON लौटने के लिए एएसपी.नेट वेब एपीआई को कैसे बाध्य करें? मैं दो जॉब्जेक्ट कैसे मर्ज कर सकता हूं? एंड्रॉइड एचटीटीपी क्लाइंट लगातार कुकीज़ क्या std :: cin के लिए समय-सीमा निर्धारित करना संभव है? ओपनसीवी में छवि परिवर्तन सिस्टम। डायग्नोस्टिक्स। डिबग कहां प्रदर्शित होता है।

क्या पेशेवरों और विपक्ष: सिर में जावास्क्रिप्ट डाल रहा है और शरीर के करीब होने से पहले ही लगाया जा सकता है

अधिकांश जावास्क्रिप्ट और वेब डेवलपमेंट किताबें / लेख कहते हैं कि आपको सीएसएस को सिर टैग और पेज के निचले हिस्से में जावास्क्रिप्ट करना होगा।

लेकिन जब मैं मशहूर वेबसाइटों के एचटीएमएल स्रोत को खोलता हूं जैसे कि यह एक स्टैकवरफ्लो, मुझे लगता है कि वे जेड फाइल्स को सिर टैग में डालते हैं

दोनों तरीकों का क्या लाभ और विपक्ष है और किसका उपयोग करना है?

उसी मुद्दे के लिए एक अन्य प्रश्न मिला: मुझे अपने पेज में उपयोग की जाने वाली जावास्क्रिप्ट फ़ाइलों को कहाँ घोषित करना चाहिए? <Head> </ head> या </ body> के पास?

Solutions Collecting From Web of "क्या पेशेवरों और विपक्ष: सिर में जावास्क्रिप्ट डाल रहा है और शरीर के करीब होने से पहले ही लगाया जा सकता है"

आपकी वेब साइट को गति देने के लिए याहू के सर्वोत्तम अभ्यास से :

स्क्रिप्ट के कारण समस्या यह है कि वे समानांतर डाउनलोड को ब्लॉक करते हैं। HTTP / 1.1 विनिर्देश बताता है कि ब्राउज़र प्रति मेजबाननाम प्रति समानांतर में दो से अधिक घटकों को डाउनलोड नहीं करते हैं। यदि आप अपने चित्रों को कई होस्टनामों से सेवा देते हैं, तो आप समानांतर में होने वाले दो से अधिक डाउनलोड प्राप्त कर सकते हैं। हालांकि एक स्क्रिप्ट डाउनलोड हो रही है, हालांकि, ब्राउज़र किसी भी अन्य डाउनलोड प्रारंभ नहीं करेगा, यहां तक ​​कि विभिन्न होस्टनामों पर भी।

कुछ स्थितियों में स्क्रिप्ट को नीचे तक ले जाना आसान नहीं है यदि, उदाहरण के लिए, स्क्रिप्ट दस्तावेज़ का उपयोग करता है। पृष्ठ की सामग्री के भाग को सम्मिलित करने के लिए लिखिए, इसे पृष्ठ में कम स्थानांतरित नहीं किया जा सकता। वहाँ भी scoping मुद्दों हो सकता है कई मामलों में, इन स्थितियों के समाधान के तरीके हैं

एक वैकल्पिक सुझाव जो अक्सर आता है स्थगित स्क्रिप्ट का उपयोग करना है DEFER विशेषता यह इंगित करता है कि स्क्रिप्ट में दस्तावेज़ शामिल नहीं है। लिखित, और ब्राउज़र के लिए एक संकेत है कि वे रेंडरिंग जारी रख सकते हैं। दुर्भाग्य से, फ़ायरफ़ॉक्स DEFER विशेषता का समर्थन नहीं करता है इंटरनेट एक्सप्लोरर में, स्क्रिप्ट स्थगित हो सकती है, लेकिन जितनी वांछित नहीं है यदि कोई स्क्रिप्ट स्थगित किया जा सकता है, तो उसे पृष्ठ के नीचे स्थानांतरित किया जा सकता है। इससे आपके वेब पेज तेजी से लोड हो जाएंगे

इसलिए, सामान्य रूप में, उन्हें नीचे रखकर प्राथमिकता है। हालांकि, यह हमेशा संभव नहीं होता है, और यह अक्सर ऐसा अंतर नहीं करता है जितना भी।

जैसा कि अन्य लोगों ने कहा है, जब आप सिर में जावास्क्रिप्ट डालते हैं तो यह पटकों के लोड होने तक पृष्ठ का प्रतिपादन देरी करता है, जिसका मतलब है कि पृष्ठ को लोड करने में अधिक समय लग सकता है – विशेषकर अगर आप बड़ी स्क्रिप्ट फाइल डाउनलोड कर रहे हैं

यदि आप अपनी स्क्रिप्ट टैग को पृष्ठ के अंत में ले जाते हैं, तो आप यह सुनिश्चित करेंगे कि स्क्रिप्ट टैग्स और पृष्ठ से पहले छवियों और स्टाइलशीट डाउनलोड करने वाले ब्राउज़र की संभावना स्क्रिप्ट के चलने से पहले चित्रित होने की संभावना होगी। इसका यह भी अर्थ है कि यदि आप अपनी स्क्रिप्ट्स से कुछ कार्यक्षमता पर निर्भर हैं, तो उपयोगकर्ता के लिए पेज दिखाई देने के कुछ समय तक यह उपलब्ध नहीं होगा।

यदि आप शैलियों या तत्वों (जैसे कि अमीर संपादक के कुछ फार्म के साथ टेक्स्टफ़ेल्ड बदलना आदि) जोड़ रहे हैं तो यह उपयोगकर्ता को चंचल के रूप में दिखाई देगा।

यदि आप तत्वों पर क्लिक-घटनाओं को जोड़ रहे हैं, तो तत्वों के दिखाई देने के बाद थोड़ी देर तक वे क्लिक करने योग्य नहीं होंगे।

कभी-कभी theses मुद्दों के लिए आप सिर में अपनी स्क्रिप्ट डाल करने की आवश्यकता है, अन्य बार आप नीचे उन्हें चिपके द्वारा ठीक हो जाएगा

आईएमएचओ (वाईएसलो और चतुर लोगों के बहुत सारे के खिलाफ) आपको अपने स्क्रिप्ट को सिर टैग में रखना चाहिए, और केवल उन पर अधिक से अधिक समय कैश करने के लिए भरोसा करना चाहिए।

सामान्य तौर पर आपको अपने पृष्ठ के निचले हिस्से में स्क्रिप्ट संदर्भ देना चाहिए। लिपियों को केवल डाउनलोड करने की आवश्यकता नहीं है, ब्लॉक का रिलीज होने से पहले उन्हें मूल्यांकन और निष्पादित भी किया जाना चाहिए और पृष्ठ प्रतिपादन प्रक्रिया के साथ आय करता है Modernizr जैसी चीजों को शीर्ष में रखा जाना चाहिए क्योंकि यह कुछ विशेषता detections के साथ ही साथ HTML5 shims है कि आप शायद चाहते होंगे

एक और कारण है कि आप पेज के निचले हिस्से पर स्क्रिप्ट्स डालने की कोशिश करना चाहते हैं, विफलता या एसपीओएफ के सिंगल पॉइंट्स हैं। यह वह जगह है जहां एक स्क्रिप्ट कॉल बार बाहर या किसी अन्य कारण से पृष्ठ निष्पादन को ब्लॉक करता है। यह तीसरे पक्ष के विज्ञापन पुस्तकालयों आदि के साथ बहुत कुछ हो सकता है।

हां, आप अपने आवेदन को कैसे आर्किटेक्ट करते हैं, इसके बारे में थोड़ा कठिन सोचना पड़ सकता है, लेकिन मुझे लगता है कि यह मेरे लिए बहुत ही जल्दी से स्वाभाविक बन गया। मैंने पिछले 4 सालों में सैकड़ों वेब एप्लिकेशन को नीचे स्क्रिप्ट के साथ बनाया है और मैं अंतर को बता सकता हूं मैं 500 एमएमएस हो सकता है यह 5000 एमएमएस हो सकता है लेकिन यह सब मामलों

पेज लोड होने से पहले सिर में कोई भी जावास्क्रिप्ट का मूल्यांकन किया जाएगा, जिसका अर्थ है पृष्ठ को लगता है जैसे लोड करने में अधिक समय लगता है। सभी जावास्क्रिप्ट अंत में है, तो ठीक से काम करने के लिए इवेंट्स प्राप्त करने के लिए थोड़ा कठिन है, लेकिन jQuery बहुत ज्यादा आपके लिए यह समस्या हल करता है

यह वास्तव में आपकी वेबसाइट पर निर्भर करता है यदि आप शरीर के अंदर जावास्क्रिप्ट फ़ंक्शंस तक पहुंच रहे हैं और इन्हें खोल रहे हैं, तो इसका शीर्षक में संदर्भ होना चाहिए ताकि लोड किया गया हो। अन्यथा अगर आप केवल जावास्क्रिप्ट को कॉल करने के लिए जा रहे हैं, जब पूरे दस्तावेज़ भरे गए हैं, तो यह जानकार है कि जावास्क्रिप्ट को शरीर के अंत में रखना चाहिए। अंत में जेएस फ़ाइल डालने से आप पूरे पृष्ठ को लोड करते हैं और फिर .JS फ़ाइल प्राप्त करते हैं। इस तरह से उपयोगकर्ता जल्दी से पेज को देखने में सक्षम होगा और जब तक वह पृष्ठ से परिचित हो जाता है तब तक .JS फ़ाइल पहले ही डाउनलोड हो चुकी है।