जावास्क्रिप्ट का उपयोग करके अपने वेब पेज को डिजाइन करना उस आदेश पर ध्यान देने की आवश्यकता है जिसमें आपका कोड दिखाई देता है और चाहे आप कोड को फ़ंक्शन या ऑब्जेक्ट में इनकैप्सुलेट कर रहे हों, जिनमें से सभी उस कोड को प्रभावित करते हैं रन।
आपके वेब पेज पर जावास्क्रिप्ट का स्थान
चूंकि आपके पृष्ठ पर जावास्क्रिप्ट कुछ कारकों के आधार पर निष्पादित होता है, आइए एक वेब पेज पर जावास्क्रिप्ट को कहां और कैसे जोड़ें, इस पर विचार करें।
मूल रूप से तीन स्थान हैं जिनमें हम जावास्क्रिप्ट संलग्न कर सकते हैं:
- सीधे पृष्ठ के प्रमुख में
- सीधे पृष्ठ के शरीर में
- एक इवेंट हैंडलर / श्रोता से
यह कोई फर्क नहीं पड़ता कि जावास्क्रिप्ट क्या है वेब पेज के भीतर खुद या पेज से जुड़ी बाहरी फाइलों में। यह भी कोई फर्क नहीं पड़ता कि घटना संचालकों को पृष्ठ में हार्ड-कोड किया गया है या स्वयं जावास्क्रिप्ट द्वारा जोड़ा गया है (सिवाय इसके कि उन्हें जोड़े जाने से पहले उन्हें ट्रिगर नहीं किया जा सकता है)।
कोड सीधे पृष्ठ पर
यह कहने का क्या मतलब है कि जावास्क्रिप्ट है सीधे पृष्ठ के सिर या शरीर में? यदि कोड किसी फ़ंक्शन या ऑब्जेक्ट में संलग्न नहीं है, तो यह सीधे पृष्ठ में है। इस स्थिति में, कोड क्रमिक रूप से चलता है जैसे ही कोड वाली फ़ाइल को उस कोड तक पहुंचने के लिए पर्याप्त रूप से लोड किया गया है।
कोड जो किसी फ़ंक्शन या ऑब्जेक्ट के भीतर होता है, केवल उस फ़ंक्शन या ऑब्जेक्ट को चलाने पर चलाया जाता है।
मूल रूप से, इसका अर्थ है कि आपके पृष्ठ के सिर और शरीर के अंदर कोई भी कोड जो किसी फ़ंक्शन या ऑब्जेक्ट के अंदर नहीं है, पेज लोड होते ही चलेगा - जैसे ही पेज उस कोड तक पहुंचने के लिए पर्याप्त रूप से लोड किया गया है.
वह अंतिम बिट महत्वपूर्ण है और उस आदेश को प्रभावित करता है जिसमें आप अपना कोड पृष्ठ पर रखते हैं: किसी भी कोड को सीधे पृष्ठ में रखा जाता है जिसे पृष्ठ के भीतर तत्वों के साथ बातचीत करने की आवश्यकता होती है उपरांत उस पृष्ठ के तत्व जिस पर वह निर्भर है।
सामान्य तौर पर, इसका मतलब है कि यदि आप अपने पेज की सामग्री के साथ बातचीत करने के लिए सीधे कोड का उपयोग करते हैं, तो ऐसे कोड को शरीर के निचले भाग में रखा जाना चाहिए।
कार्यों और वस्तुओं के भीतर कोड
जब भी उस फ़ंक्शन या ऑब्जेक्ट को कॉल किया जाता है, तो फ़ंक्शन या ऑब्जेक्ट के अंदर एक कोड चलाया जाता है। यदि इसे कोड से कहा जाता है जो सीधे पृष्ठ के सिर या शरीर में है, तो इसमें इसका स्थान है निष्पादन आदेश प्रभावी रूप से वह बिंदु है जिस पर प्रत्यक्ष से कार्य या वस्तु को बुलाया जाता है कोड।
ईवेंट हैंडलर और श्रोताओं को सौंपा गया कोड
किसी ईवेंट हैंडलर या श्रोता को एक फ़ंक्शन सौंपने से उस फ़ंक्शन को उस बिंदु पर नहीं चलाया जा सकता है जिस पर उसे सौंपा गया है - बशर्ते कि आप वास्तव में हैं बताए समारोह ही और चल नहीं रहा फ़ंक्शन और असाइन किया गया मान लौटाया गया। (यही कारण है कि आप आम तौर पर नहीं देखते हैं () फ़ंक्शन के नाम के अंत में जब इसे जोड़ने के बाद से किसी घटना को सौंपा जा रहा है कोष्ठक फ़ंक्शन को चलाता है और फ़ंक्शन को असाइन करने के बजाय लौटाए गए मान को असाइन करता है अपने आप।)
ईवेंट हैंडलर और श्रोताओं से जुड़े कार्य उस घटना को चलाते हैं जब वे जिस इवेंट से जुड़े होते हैं उसे ट्रिगर किया जाता है। अधिकांश घटनाओं को आपके पृष्ठ के साथ बातचीत करने वाले आगंतुकों द्वारा ट्रिगर किया जाता है। हालाँकि, कुछ अपवाद मौजूद हैं, जैसे कि भार जब पृष्ठ लोड हो रहा हो, तो विंडो पर ही ईवेंट चालू हो जाता है।
पृष्ठ तत्वों पर घटनाओं से जुड़े कार्य
पृष्ठ के भीतर तत्वों पर होने वाली घटनाओं से जुड़ा कोई भी कार्य प्रत्येक व्यक्तिगत आगंतुक के कार्यों के अनुसार चलेगा - यह कोड केवल तब चलता है जब कोई विशेष घटना इसे ट्रिगर करने के लिए होती है। इस कारण से, इससे कोई फर्क नहीं पड़ता कि कोड किसी दिए गए आगंतुक के लिए कभी नहीं चलता है, क्योंकि उस आगंतुक ने स्पष्ट रूप से उस इंटरैक्शन का प्रदर्शन नहीं किया है जिसके लिए उसे आवश्यकता होती है।
यह सब, ज़ाहिर है, आपके आगंतुक ने आपके पृष्ठ को एक ब्राउज़र के साथ एक्सेस किया है जावास्क्रिप्ट सक्षम होना चाहिए।
स्वनिर्धारित आगंतुक उपयोगकर्ता लिपियों
कुछ उपयोगकर्ताओं ने विशेष स्क्रिप्ट स्थापित की हैं जो आपके वेब पेज के साथ बातचीत कर सकती हैं। ये स्क्रिप्ट आपके सभी प्रत्यक्ष कोड के बाद चलती हैं, लेकिन इससे पहले लोड ईवेंट हैंडलर से जुड़ा कोई भी कोड।
चूंकि आपके पृष्ठ को इन उपयोगकर्ता लिपियों के बारे में कुछ नहीं पता है, इसलिए आपके पास यह जानने का कोई तरीका नहीं है कि ये बाहरी स्क्रिप्ट क्या कर सकती हैं - वे आपके द्वारा असाइन किए गए विभिन्न ईवेंट से जुड़ी किसी भी या सभी कोड को ओवरराइड कर सकते हैं प्रसंस्करण। यदि यह कोड ईवेंट हैंडलर या श्रोताओं को ओवरराइड करता है, तो ईवेंट ट्रिगर्स की प्रतिक्रिया उपयोगकर्ता द्वारा या आपके कोड के अलावा निर्धारित कोड को चलाएगी।
यहाँ होम पॉइंट यह है कि आप यह नहीं मान सकते हैं कि पेज लोड होने के बाद चलाने के लिए डिज़ाइन किया गया कोड उस तरीके से चलाने की अनुमति दी जाएगी जिसे आपने डिज़ाइन किया था। इसके अलावा, ध्यान रखें कि कुछ ब्राउज़रों में विकल्प होते हैं जो कुछ ईवेंट हैंडलर को अक्षम करने की अनुमति देते हैं ब्राउज़र, जिस स्थिति में एक प्रासंगिक ईवेंट ट्रिगर आपके लिए संबंधित ईवेंट हैंडलर / श्रोता लॉन्च नहीं करेगा कोड।