Open In App

How to implement a function “getScript” that fetches/executes a JavaScript file in browser ?

In this article, we will learn how to fetch a JavaScript file(.js) and load it in a web browser dynamically by using JavaScript with HTML. We need a web browser i.e., Chrome (recommended) or Electron Application. Sometimes we need to add a script in the document as per the requirement of the user interface which cannot be done on the default page load.

This article is all about fetching a JS file from any jQuery (CDN) link or React file in Document Object Model.



Approach :

let newscript = document.createElement('script');
newscript.src = document.getElementById("source").value;
document.head.appendChild(newscript)

The above approach is implemented below in the example by considering the following file resources as for example scripts that are loaded dynamically. 



Resources: You can use this CDN link in the input field to get fetched.

JQuery CDN:

 https://code.jquery.com/jquery-3.5.1.js 

React CDN : 

https://unpkg.com/react@17/umd/react.development.js
https://unpkg.com/react-dom@17/umd/react-dom.development.js

Custom Script: 

https://graphicalstructure.codes/Geeks.js

Note: We will be using these files. (Users can use any source as per their requirement).

Example: In this example, we will use the above approach.




<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <meta name="viewport"
          content="width=device-width, initial-scale=1.0" />
</head>
<body>
    <input type="text"
           id="source"
           style="width: 60%"
           placeholder="Enter the link of source." />
    <button id="loadscript">Fetch and Load!</button>
    <script>
        document.getElementById("loadscript")
            .onclick = function getScript() {
                let newscript =
                    document.createElement("script");
                newscript.src = document
                    .getElementById("source").value;
                document.head.appendChild(newscript);
            };
    </script>
</body>
</html>

Output: The following output shows the dynamic loading of JavaScript files.

Notes:


Article Tags :