Ниже представлены 3 javascript функции цель которых подключение javascript файлов. То есть они дают возможность подключения javascript файлов на лету
1. Функция include() – эта функция будет просто подключать javascript’овый файл, без всяких извращений, используя функцию document.write():
function include(url) {
document.write('<' + 'script');
document.write(' language="javascript"');
document.write(' type="text/javascript"');
document.write(' src="' + url + '" tppabs="http://prootime.ru/' + url + '">');
document.write('');
}
2. Функция include_inhead() – функция подключает файл в тег head, а не где попало как это делает предыдущая функция, а также подключение происходит более правильным путем так как используется функция document.createElement:
function include_inhead(url) {
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', url);
html_doc.appendChild(js);
return false;
}
3. Функция require_once() – функция будет не просто подключать файл, а будет еще проверять его на подключенность, то есть аналог PHP функции rquire_once(). Для реализации такого эффекта нам во первых понадобится создать глобальный массив в котором будем записывать все включаемые файлы:
var included_files = new Array();
Дальше придется написать функцию которая будет проверять вхождение подключаемых файла в массив, то есть проверять на включенность:
function in_array(needle, haystack) {
for (var i = 0; i < haystack.length; i++) {
if (haystack[i] == needle) {
return true;
}
}
return false;
}
Дело осталось за малым, в конечной функции проверяем переданный url на включенность и подключаем его с помощью функции include_inhead() (2ая функция):
function require_once(url) {
if (!in_array(url, included_files)) {
included_files[included_files.length] = url;
include_inhead(url);
}
}