मैं शैतान का वकील नहीं बनने जा रहा हूं, लेकिन शौकिया नौकरी और इनलाइन जावास्क्रिप्ट के बीच कोई सख्त संबंध नहीं है। आइए देखते हैं कई बहुचर्चित वेबसाइटों का सोर्स कोड:
- गूगल,
- विकिपीडिया,
- माइक्रोसॉफ्ट,
- एडोब,
- डेल,
- आईबीएम।
उनके हर होम पेज में इनलाइन जावास्क्रिप्ट का उपयोग किया जाता है। क्या इसका मतलब यह है कि वे सभी कंपनियां अपने घर बनाने के लिए शौकिया लोगों को काम पर रखती हैं?
मैं उन डेवलपर्स में से एक हूं जो HTML के अंदर जावास्क्रिप्ट कोड नहीं डाल सकते हैं। मैं उन परियोजनाओं के अंदर कभी नहीं करता, जिन पर मैं काम करता हूं ( <a href="javascript:...">
परियोजनाओं के लिए शायद कुछ कॉल को छोड़कर, जहां विनीत जावास्क्रिप्ट शुरुआत से एक आवश्यकता नहीं थी, और मैं किसी अन्य के कोड को रिफ्लेक्टर करते समय हमेशा इनलाइन जावास्क्रिप्ट निकालता हूं। लेकिन क्या यह प्रयास के लायक है। ? पूरा यकीन नहीं।
प्रदर्शन-वार, जावास्क्रिप्ट को एक अलग फ़ाइल में डालते समय आपके पास हमेशा बेहतर प्रदर्शन नहीं होता है। आमतौर पर, हम इनलाइन जावास्क्रिप्ट अपशिष्ट बैंडविड्थ पर विचार करने के लिए लुभाते हैं, क्योंकि इसे कैश नहीं किया जा सकता है (जब आप स्थिर कैचिंग HTML के साथ सौदा करते हैं)। इसके विपरीत, एक बाहरी .js फ़ाइल केवल एक बार भरी हुई है।
वास्तव में, यह सिर्फ एक और समयपूर्व अनुकूलन है : आप सही सोच रहे होंगे कि जावास्क्रिप्ट को बाहरी करना आपकी वेबसाइट को तेज करेगा, लेकिन आप पूरी तरह से गलत भी हो सकते हैं:
- यदि आपके अधिकांश उपयोगकर्ता खाली कैश लेकर आते हैं तो क्या होगा?
- क्या आपने माना है कि एक्सटर्नल .js फ़ाइल के साथ, हर पेज के अनुरोध पर इस फ़ाइल के लिए एक अनुरोध किया जाएगा, अगर वेबसाइट ठीक से कॉन्फ़िगर नहीं की गई है (और आमतौर पर, यह नहीं है),
- क्या .js फाइल वास्तव में कैश की गई है (IIS के साथ, यह इतना आसान नहीं हो सकता है)?
तो समय से पहले अनुकूलन करने से पहले, अपने आगंतुकों के बारे में आंकड़े इकट्ठा करें, और इनलाइन जावास्क्रिप्ट के साथ और बिना प्रदर्शन का मूल्यांकन करें।
फिर अंतिम तर्क आता है: आपने अपने स्रोत में जावास्क्रिप्ट और HTML को मिलाया, ताकि आप चूसें। लेकिन किसने कहा कि तुम दोनों को मिलाओ? ब्राउज़र द्वारा उपयोग किया जाने वाला स्रोत कोड हमेशा आपके द्वारा लिखा गया स्रोत कोड नहीं होता है। उदाहरण के लिए, स्रोत कोड, संकुचित किया जा सकता है न्यूनतम किया गया, या कई सीएसएस या जे एस फ़ाइलें एक फ़ाइल में शामिल हो सकता है, लेकिन इसका मतलब यह नहीं है कि आप वास्तव में नामित अपने चर a
, b
, c
... a1
, आदि या कि आप ने लिखा एक रिक्त स्थान या newlines के बिना विशाल सीएसएस फ़ाइल। उसी तरह, आप आसानी से बाह्य जावास्क्रिप्ट स्रोत कोड को संकलित समय पर या बाद में टेम्पलेट के माध्यम से HTML में इंजेक्ट कर सकते हैं।
निष्कर्ष निकालने के लिए, यदि आप अपने लिखे गए स्रोत कोड में जावास्क्रिप्ट और HTML को मिलाते हैं , तो आपको अपने भविष्य की परियोजनाओं में ऐसा नहीं करने पर विचार करना चाहिए। लेकिन इसका मतलब यह नहीं है कि यदि ब्राउज़र को भेजे गए स्रोत कोड में इनलाइन जावास्क्रिप्ट शामिल है, तो यह हमेशा खराब होता है।
- यह खराब हो सकता है।
- इसके विपरीत यह संकेत हो सकता है कि वेबसाइट को पेशेवरों द्वारा लिखा गया था जिन्होंने प्रदर्शन के बारे में परवाह की, विशिष्ट परीक्षण किए, और यह निर्धारित किया कि यह उनके ग्राहकों के लिए जावास्क्रिप्ट के इनलाइन भागों के लिए तेज़ होगा।
- या इसका मतलब कुछ भी नहीं हो सकता है।
इसलिए जो व्यक्ति "बहुत ही शांत साइट है, उस व्यक्ति के बारे में शर्मिंदा है, जो स्रोत कोड में इनलाइन स्क्रिप्टिंग के बारे में शर्म करता है" केवल ब्राउज़र को भेजे गए स्रोत को देखकर, बिना कुछ जाने बिना कि वेबसाइट कैसे की गई।