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

HTML फाइल में एक्सटर्नल ".js" फाइल्स का उपयोग कैसे करें?


परिचय

.js एक्सटेंशन के साथ एक्सटर्नल JavaScript फाइल बनाएं। बनाने के बाद, इसे स्क्रिप्ट टैग में HTML फाइल में जोड़ें। उस एक्सटर्नल JavaScript फाइल को शामिल करने के लिए src एट्रिब्यूट का उपयोग किया जाता है।

प्रदर्शन नोट

यदि आपके पास एक से अधिक एक्सटर्नल JavaScript फाइलें हैं, तो उन्हें उसी वेब पेज में जोड़कर पेज के प्रदर्शन को बढ़ाया जा सकता है।

उदाहरण

चरण 1: एक्सटर्नल JavaScript फाइल बनाएं (new.js)

function display() { 
    alert("Hello World!"); 
}

चरण 2: HTML वेब पेज में एक्सटर्नल JavaScript फाइल जोड़ें

<html> 
    <body> 
        <form> 
            <input type="button" value="Result" onclick="display()"/> 
        </form> 
        <script src="new.js"> 
        </script> 
    </body> 
</html>

बेहतर स्थान: <head> में defer के साथ

<!DOCTYPE html>
<html lang="hi">
<head>
    <meta charset="UTF-8">
    <title>एक्सटर्नल JS उदाहरण</title>
    <script src="new.js" defer></script>
</head>
<body>
    <button onclick="display()">क्लिक करें</button>
</body>
</html>

एकाधिक JS फाइल्स लोड करना

<head>
    <!-- क्रम महत्वपूर्ण है: निर्भरताएं पहले -->
    <script src="vendor/jquery.min.js" defer></script>
    <script src="vendor/lodash.min.js" defer></script>
    <script src="utils/helpers.js" defer></script>
    <script src="app/main.js" defer></script>
</head>

महत्वपूर्ण एट्रिब्यूट्स

एट्रिब्यूटविवरण
srcJS फाइल का पथ (आवश्यक)
deferHTML पार्स होने के बाद निष्पादित करें (क्रम बनाए रखता है)
asyncअसिंक्रोनसली लोड और निष्पादित करें (क्रम गारंटी नहीं)
type="module"ES6 मॉड्यूल के रूप में लोड करें (आधुनिक)
crossoriginCORS सेटिंग्स: anonymous या use-credentials
integrityसबरीसोर्स इंटीग्रिटी (SRI) हैश
referrerpolicyरेफरर पॉलिसी नियंत्रण

defer बनाम async

विशेषताdeferasync
लोडिंगHTML पार्सिंग के साथ समानांतरHTML पार्सिंग के साथ समानांतर
निष्पादनHTML पार्सिंग पूरा होने के बादलोड होते ही तुरंत
क्रमबनाए रखा जाता हैगारंटी नहीं
उपयोग का मामलाऐप लॉजिक, निर्भर स्क्रिप्ट्सस्वतंत्र थर्ड-पार्टी (एनालिटिक्स, विजेट्स)

ES6 मॉड्यूल्स (आधुनिक दृष्टिकोण)

module.js

export function display() {
    alert("Hello from module!");
}

export const PI = 3.14159;

main.js

import { display, PI } from './module.js';

console.log(PI); // 3.14159
display();

HTML

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

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

  1. defer का उपयोग करें - अधिकांश स्क्रिप्ट्स के लिए (<head> में रखें)
  2. फाइल्स को मिनिफाई और बंडल करें - उत्पादन के लिए (Webpack, Vite, Rollup)
  3. SRI (Subresource Integrity) उपयोग करें - CDN से लोड करते समय
  4. HTTP/2 या HTTP/3 उपयोग करें - मल्टीप्लेक्सिंग के लिए
  5. क्रिटिकल JS इंलाइन करें - फर्स्ट कंटेंटफुल पेंट के लिए
  6. अनावश्यक लाइब्रेरीज़ हटाएं - बंडल साइज़ कम करें

डीबगिंग टिप्स

  • ब्राउज़र डेवलपर टूल्स (F12) → Sources टैब
  • Source Maps के साथ मिनिफाइड कोड डीबग करें
  • debugger; स्टेटमेंट या ब्रेकपॉइंट्स उपयोग करें
  • कंसोल में त्रुटियाँ जांचें
  1. HTML में formaction एट्रिब्यूट का उपयोग कैसे करें? HTML में formaction एट्रिब्यूट का उपयोग कैसे करें?

    formaction एट्रिब्यूट तब काम करता है जब मान लीजिए आपके फॉर्म में दो सबमिट बटन हैं और आप चाहते हैं कि दोनों बटन अलग-अलग काम करें। दोनों बटन डेटा को अलग-अलग पेज पर भेजते हैं। formaction एट्रिब्यूट फॉर्म action एट्रिब्यूट को ओवरराइड करता है।नोट: formaction एट्रिब्यूट Internet Explorer 9 और पूर्व संस्कर

  1. HTML में मल्टीपल एट्रिब्यूट का उपयोग कैसे करें? HTML में मल्टीपल एट्रिब्यूट का उपयोग कैसे करें?

    HTML में multiple एट्रिब्यूट उपयोगकर्ता को एक से अधिक मान दर्ज करने की अनुमति देता है। यह एक बूलियन एट्रिब्यूट है और इसे <input> के साथ-साथ <select> एलिमेंट पर उपयोग किया जा सकता है।HTML फॉर्म में मल्टीपल फ़ाइल अपलोड की अनुमति देने के लिए, multiple एट्रिब्यूट का उपयोग करें। multiple एट्र

  1. HTML में लिस्ट एट्रिब्यूट का उपयोग कैसे करें? HTML में लिस्ट एट्रिब्यूट का उपयोग कैसे करें?

    HTML में, हम <datalist> एलिमेंट का उपयोग प्री-डिफाइंड विकल्पों की एक सूची निर्दिष्ट करने के लिए करते हैं। यह सूची एक इनपुट एलिमेंट के लिए है। list एट्रिब्यूट इस <datalist> एलिमेंट को संदर्भित करता है। HTML5 ने list एट्रिब्यूट पेश किया।list एट्रिब्यूट एक <datalist> एलिमेंट को संदर्भ