Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> HTML

क्या स्क्रिप्ट टैग्स के अंदर HTML कमेंट्स एक सर्वोत्तम अभ्यास है?


परिचय

JavaScript को <script>... </script> के भीतर रखे गए JavaScript स्टेटमेंट्स का उपयोग करके लागू किया जा सकता है।

उदाहरण: HTML कमेंट के साथ

HTML कमेंट को <script> टैग में जोड़ा जाता है, जो वैकल्पिक है:

<html> 
    <body> 
        <script> 
            <!-- 
                document.write("Hello World!") 
            //--> 
        </script> 
    </body> 
</html>

एक वैकल्पिक HTML कमेंट ऊपर जोड़ा गया है जो हमारे JavaScript कोड को घेरता है। हाँ, इसे एक सर्वोत्तम अभ्यास माना जाता था, क्योंकि यह हमारे कोड को उन ब्राउज़रों से बचाने के लिए था जो JavaScript का समर्थन नहीं करते।

कमेंट "//-->" के साथ समाप्त होती है। यहां "//" JavaScript में एक कमेंट को दर्शाता है, इसलिए हम इसे जोड़ते हैं ताकि ब्राउज़र HTML कमेंट के अंत को JavaScript कोड के टुकड़े के रूप में न पढ़े।

आधुनिक दृष्टिकोण: यह अब आवश्यक नहीं है

क्यों अप्रचलित है?

  • **कोई भी आधुनिक ब्राउज़र JavaScript का समर्थन नहीं करता ऐसा नहीं है** - यहां तक कि IE6+ भी JavaScript का समर्थन करता है
  • **HTML5 पार्सर** - <script> कंटेंट को सही ढंग से संभालते हैं
  • **XHTML समाप्त हो गया** - XML पार्सिंग की आवश्यकता नहीं रही
  • **बिल्ड टूल्स** - आधुनिक टूलिंग (Webpack, Vite, आदि) कंटेंट को सही ढंग से संभालते हैं

वर्तमान सर्वोत्तम अभ्यास

1. सिंपल स्क्रिप्ट टैग

<script>
    // आपका JavaScript कोड यहाँ
    console.log('Hello World!');
</script>

2. एक्सटर्नल स्क्रिप्ट (अनुशंसित)

<script src="app.js" defer></script>

3. ES6 मॉड्यूल्स

<script type="module" src="app.js"></script>

ऐतिहासिक संदर्भ

युगअभ्यासकारण
1995-2000 (प्रारंभिक JS)HTML कमेंट रैपर आवश्यकNetscape 2, IE3 जैसे ब्राउज़र्स JS नहीं समझते थे
2000-2010 (XHTML युग)CDATA + कमेंट रैपरXML पार्सर्स < और & को एंटिटीज़ के रूप में पार्स करते थे
2010-2015 (HTML5 संक्रमण)धीरे-धीरे चरणबद्ध समाप्तिब्राउज़र्स में सुधार, HTML5 पार्सिंग मानक
2015+ (आधुनिक)कोई रैपर नहींसभी ब्राउज़र्स सही ढंग से संभालते हैं

विशेष मामला: टेम्पलेट लिटरल्स में </script>

अगर आपके JavaScript में स्ट्रिंग लिटरल में </script> है, तो यह HTML पार्सर द्वारा स्क्रिप्ट टैग को जल्दी बंद करने का कारण बन सकता है:

<script>
    // समस्या: ब्राउज़र यहाँ स्क्रिप्ट समाप्त समझता है
    const template = '<div></script></div>';
</script>

समाधान

<script>
    // स्ट्रिंग को विभाजित करें
    const template = '<div></scr' + 'ipt></div>';
    
    // या टेम्पलेट लिटरल उपयोग करें
    const template = `\<div\>\</script\>\</div\>`;
    
    // या बाहरी फाइल में रखें (सर्वोत्तम)
</script>

निष्कर्ष

नहीं, HTML कमेंट्स <script> टैग्स के अंदर अब सर्वोत्तम अभ्यास नहीं हैं। वे अनावश्यक हैं, कोड को अव्यवस्थित करते हैं, और आधुनिक विकास वर्कफ्लोज़ के साथ हस्तक्षेप कर सकते हैं। बस साफ JavaScript लिखें या एक्सटर्नल फाइल्स का उपयोग करें।

  1. HTML पेज के अंदर इंलाइन JavaScript कैसे शामिल करें? HTML पेज के अंदर इंलाइन JavaScript कैसे शामिल करें?

    JavaScript का उपयोग HTML में <script>...</script> या बाहरी JavaScript फ़ाइल का उपयोग करके किया जाता है। खैर, HTML पेज के अंदर इंलाइन JavaScript शामिल करने का एक और तरीका है। आम तौर पर, HTML इवेंट विशेषताएं स्क्रिप्ट टैग्स में अन्यत्र निर्दिष्ट फ़ंक्शंस को कॉल करती हैं। लेकिन, आप JavaScr

  1. HTML <script> charset एट्रिब्यूट HTML <script> charset एट्रिब्यूट

    <script> एलिमेंट का charset एट्रिब्यूट <script> एलिमेंट का charset एट्रिब्यूट वर्ण एन्कोडिंग (character encoding) सेट करने के लिए उपयोग किया जाता है, जिसका उपयोग एक बाहरी स्क्रिप्ट फ़ाइल में किया जाता है। वाक्यविन्यास (Syntax) <script charset=charset> ऊपर, charset सेट करें, जो बा

  1. HTML कमेंट्स: सिंगल-लाइन और मल्टी-लाइन कमेंट्स का उपयोग HTML कमेंट्स: सिंगल-लाइन और मल्टी-लाइन कमेंट्स का उपयोग

    HTML कमेंट्स <!-- ... --> टैग्स के बीच रखे जाते हैं। <!-- ... --> टैग्स के भीतर रखी गई किसी भी सामग्री को कमेंट माना जाता है और ब्राउज़र द्वारा पूरी तरह से अनदेखा कर दिया जाता है। सिंगल-लाइन कमेंट्स उदाहरण <!DOCTYPE html> <html> <head> <!-- डॉक्यूमेंट हेडर शुरू --