इस सवाल ने हमेशा मुझे परेशान किया है जब भी मैं पेज के निचले हिस्से में अपनी जेएस फाइलें डालता हूं। अगर मैं समापन body
टैग से पहले नीचे सभी js फ़ाइलें डाल तो मुझे लगता है कि ब्राउज़र पहले सभी एचटीएमएल और स्टाइल शीट डाउनलोड करेगा तो यह HTML और सीएसएस पार्स जाएगा और अंत में यह js फ़ाइलों के लिए अनुरोध भेज देंगे। तो,क्या मुझे स्क्रिप्ट पर स्थगित करना चाहिए जो पहले से ही नीचे के बॉडी टैग से पहले ही है?
- जेएस फाइलों पर
defer
का उपयोग करना जो पहले से ही नीचे हैं, कोई फर्क पड़ता है? - क्या शरीर टैग अवरुद्ध करने से ठीक पहले अंत में गैर स्थगित स्क्रिप्ट हैं?
मेरे पास एक और सवाल यह है कि अगर मैं सभी जेएस फ़ाइल को सिर में डालता हूं और defer
का उपयोग करता हूं। क्या यह नीचे सभी जेएस फाइलों को रखने के बराबर होगा? head
में डिफर के साथ जेएस को देखकर ब्राउजर सर्वर से अनुरोध करता है और फिर बाकी एचटीएमएल फाइल डाउनलोड करना जारी रखता है या क्या यह सभी एचटीएमएल और सीएसएस डाउनलोड करने के बाद ही सर्वर से अनुरोध करेगा?
जहां तक मुझे पता है async
defer
के बराबर है और केवल अंतर यह है कि फाइलों के क्रम के बिना डाउनलोड किए जाने पर जेएस निष्पादित किया जाएगा। तो,
- js फ़ाइलें जो पहले से ही तल पर हैं वे किस क्रम में क्रियान्वित कर रहे हैं से छोड़कर कोई फर्क पर
async
का उपयोग कर सकते हैं?
हां, डिफर मूल रूप से शरीर के अंत में टैग डालने जैसा होता है। – dandavis