Php include_once equivalent for javascript
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;
}
}
- liviu's blog
- Login or register to post comments
Delicious
Digg
StumbleUpon
Propeller
Reddit
Magnoliacom
Newsvine
Furl
Facebook
Google
Yahoo
Technorati
Icerocket