2010-10-13 13 views
5

बाहरी जावास्क्रिप्ट फ़ाइल का उपयोग करने के पेशेवर क्या हैं? मैं इसे समझ नहीं पा रहा हूं, मैं सर्वर-साइड के बजाय कई बार चारों ओर उपयोग करके बड़ी वेबसाइटें देखता हूं। क्या यह सिर्फ कैशिंग के लिए है?बाहरी जावास्क्रिप्ट का उपयोग क्यों करें?

यदि यह स्वच्छ कोड और चिंताओं का पृथक्करण का मामला है, तो आप इसे अभी भी सर्वर से HTML में शामिल कर सकते हैं। उदाहरण के लिए मैं SMARTY का उपयोग करता हूं और मैं केवल फ़ाइल <script></script> tages के अंदर फ़ाइल शामिल कर सकता हूं। यदि यह प्रदर्शन के लिए है तो मैं एक अतिरिक्त http अनुरोध के अलावा कुछ भी नहीं देख सकता जो बाह्य फ़ाइल को धीमा कर देता है। मुझे यकीन है कि मुझे कुछ याद आना चाहिए क्योंकि सभी बड़ी वेबसाइटें अभी भी ऐसा करती हैं।

क्या यह फ़ाइल को कैशिंग करने की वजह से है? मेरी जावास्क्रिप्ट गतिशील हैं और वैसे भी कैश नहीं किया जाना चाहिए।

क्या कोई मेरी जावास्क्रिप्ट फ़ाइलों के साथ क्या करना है, यह चुनने का सही निर्णय लेने में मेरी मदद कर सकता है।

ps: क्या 1.5 के उपयोगकर्ता बाहरी जावास्क्रिप्ट के लिए टैग बना सकते हैं?

उत्तर

5

सबसे महत्वपूर्ण यह है कि फ़ाइल ब्राउज़र द्वारा कैश की जाती है। कम बाइट जिन्हें सर्वर से बेहतर भेजने की आवश्यकता है। यह वेब प्रदर्शन का एक बड़ा हिस्सा है।

दूसरा, यह मॉड्यूलरिटी प्रदान करता है।

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

+0

क्योंकि मैं AJAX तकनीकों का उपयोग करता हूं और कोड हर स्थिति के लिए अलग होना चाहिए। और मैं मॉड्यूलरिटी के कारण सबकुछ के लिए जावास्क्रिप्ट कोड इनलाइन नहीं रखना चाहता हूं। – Neo

+0

AJAX का उपयोग गतिशील जावास्क्रिप्ट के लिए कोई कारण नहीं है। यदि कोड अलग-अलग परिस्थितियों के लिए भिन्न होना चाहिए, तो आपको इससे बचने के लिए अपने कार्यों को संशोधित करना चाहिए। लिपि मॉड्यूलर होना चाहिए। ओओपी सोचो। –

+0

यही कारण है कि मेरा जावास्क्रिप्ट गतिशील php पृष्ठ पर आधारित सही वाक्यविन्यास के साथ बनाता है। कारण जटिल है क्योंकि यह एक पुराने ढांचे से एक नए प्रोजेक्ट से माइग्रेशन प्रोजेक्ट का हिस्सा है। – Neo

0

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

+0

यही कारण है कि सर्वर-पक्ष में भी शामिल है। – Neo

+0

@neo ऐसा लगता है कि एक एसएसआई क्या है ... – hvgotcodes

+0

नहीं, मैं एसएसआई के बारे में बात नहीं कर रहा हूं लेकिन सचमुच सर्वर पक्ष पर शामिल है। Php के साथ, SMARTY के साथ मेरे मामले में – Neo

5

आपके मामले में जहां कोई कैशिंग नहीं है क्योंकि संपूर्ण जावास्क्रिप्ट फ़ाइल गतिशील रूप से उत्पन्न होती है, इनलाइन शायद बेहतर है। यह आपको HTTP ओवरहेड बचाता है।

स्रोत: http://developer.yahoo.com/performance/rules.html#external

0

इसके अलावा क्या @Gabriel ने कहा, यह भी मदद करता है आप, विभिन्न पृष्ठों में एक ही समारोह का उपयोग उनके लिए जरूरत (.html दस्तावेज़) withouth बड़ा हो सकता है।

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