Я пытаюсь собрать функцию включения стиля php для javascript. Маршрут, по которому я иду, - через XMLHttpRequest. Включенный файл загрузится, но функции в этом файле будут недоступны, поскольку их область действия ограничена вызывающей их функцией.
Я наткнулся на эту статью, которая преследует аналогичную цель, но требует, чтобы кодировщик указал какие функции они требуют заранее, в то время как я хотел бы просто включить файл и автоматически добавить функции объекта окна.
вот мой прогресс
function twinkle(){
getXMLHTTPObj("twinkle/test.js");
// A simple function inside test.js
includedFunc();
}
// XMLHttp Stuff lifted from he Apple tutorial
var req;
function getXMLHTTPObj(url) {
req = false;
// branch for native XMLHttpRequest object
if(window.XMLHttpRequest && !(window.ActiveXObject)) {
try {
req = new XMLHttpRequest();
} catch(e) {
req = false;
}
// branch for IE/Windows ActiveX version
} else if(window.ActiveXObject) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
req = false;
}
}
}
if(req) {
req.onreadystatechange = processReqChange;
// Set to False so javascript waits for the included functions
// to become available
req.open("GET", url, false);
req.send("");
}
return req;
}
function processReqChange() {
// only if req shows "loaded"
if (req.readyState == 4) {
// only if "OK"
if (req.status == 200) {
eval(req.responseText);
} else {
alert("There was a problem retrieving the XML data:\n" +
req.statusText);
}
}
}
Я рассматриваю возможность создания индекса функций внутри каждого включаемого файла, который можно было бы повторять при включении файла, но это не очень элегантное решение.
Любые идеи? Есть ли какое-то свойство или функция javascript, к которым я могу получить доступ, чтобы получить список функций в файле?