Php include_once equivalent for javascript

Tagged:  

This one time, in band camp, when i was working on a javascript... script i needed an equivlent for the include_once in php. It was very likely that the code where i was including something got to run multiple times, and this caused problems.
So i found the solution on phpied.com.
So here it is, the php include_once equivalent for javascript:

var included_files = new Array();

function include_once(script_filename)
{

  if (!in_array(script_filename, included_files))
  {

    included_files[included_files.length] = script_filename;

    include_dom(script_filename);
  }

}

function in_array(needle, haystack)
{

  for (var i = 0; i < haystack.length; i++)
  {

    if (haystack[i] == needle)
    {

      return true;

    }

  }

return false;

}

function include_dom(script_filename) {
var html_doc = document.getElementsByTagName('head').item(0);
var js = document.createElement('script');
js.setAttribute('language', 'javascript');
js.setAttribute('type', 'text/javascript');
js.setAttribute('src', script_filename);
html_doc.appendChild(js);
return false;
}

Here is a simpler way of doing it made by me:

function include_once_javascript(fileUrl) {

      if (typeof(alreadyIncluded) == "undefined" ){  

            alreadyIncluded = [];

      }

 

      var found = false;

      for (i = 0; i < alreadyIncluded.length; i++){alert(i);

            if (alreadyIncluded[i] ==  fileUrl){

                  found = true;

                  break;

            }          

      }

      if (found == true){alert(found);

            return true;           

      }

      else {

            var script = document.createElement("script");

            var head   = document.getElementsByTagName('head').item(0);

            script.src = fileUrl;

            head.appendChild(script);

            alreadyIncluded[alreadyIncluded.length] = fileUrl; alert ('included');

            return true;

      }

}