JavaScript: Accessing Variables Defined in External .js Files

javascript, web

Solution

To import JS dynamically, you need to consider `onreadystatechange` and `load` events which are run when the script is parsed by the browser and available to you. You can use this function:

function getScript(url, callback) {
   var script = document.createElement('script');
   script.type = 'text/javascript';
   script.src = url;

   script.onreadystatechange = callback;
   script.onload = callback;

   document.getElementsByTagName('head')[0].appendChild(script);
}

And you can use it like this:

getScript('path to your js file', function(){
  alert("Pet Name: " + PETNAME);
});

Problem

Possible Duplicate: Dynamically Importing JavasScript Is there a way to access variables which come from external imported JavaScript .js files? In the external .js file I define a varialbe such as follows: ``` // JavaScript Document var PETNAME = "Beauty"; ``` After dynamically importing that code, I wish to access PETNAME variable, but I do not get the defined value: ``` alert("Pet Name: " + PETNAME); ``` What can be wrong, and is there a way to bring values from external .js code into the master JavaScript? Thank you.

Original source