Archive for the ‘xmlhttprequest’ tag
JavaScript import
В JavaScript нет директивы import. Хотя она есть даже в css (@import). Но если надо, очень надо, то можно воспользоваться следующей “заменой”
function import (url) {
var xhr;
if(window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
} else {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
if(xhr){
xhr.open("GET",url,false);
xhr.send(null);
eval(xhr.responseText);
} else {
return false;
}
}
Пользоваться довольно просто
import('/path/to/js/file.js');
call_function_from_file_js();
То, что код функции call_function_from_file_js будет доступен, гарантировано синхронностью XMLHttpRequest (3-й параметр). У данного решения есть маленький минус – загруженный код проходит через eval(), его многие считают злом и т.д…. Еще могу возникнуть сложности, если в загружаемом коде есть объявления типа
function foo() {
//some code
}
Если нарветесь — попробуйте изменить определение функции на
foo = function () {
//some code
}
Должно помочь.

