Похоже, код был с самого начала. Я не смог запустить мою DLL из-за другой проблемы. Спасибо всем за оказанную помощь!
При использовании высокоуровневой платформы, такой как JQuery Вы могли бы проверить $.getScript(url, callback)
функция.
Если Вы хотите свой код очень следующей строки и любите писать что-то как:
if (iNeedSomeMore){
Script.load("myBigCodeLibrary.js"); // includes code for myFancyMethod();
myFancyMethod(); // cool, no need for callbacks!
}
Существует умный способ ввести зависимости от сценария без потребности обратных вызовов. Просто необходимо вытянуть сценарий через синхронный запрос Ajax и оценку сценарий на глобальном уровне.
При использовании Прототипа, метод Script.load похож на это:
var Script = {
_loadedScripts: [],
include: function(script){
// include script only once
if (this._loadedScripts.include(script)){
return false;
}
// request file synchronous
var code = new Ajax.Request(script, {
asynchronous: false, method: "GET",
evalJS: false, evalJSON: false
}).transport.responseText;
// eval code on global level
if (Prototype.Browser.IE) {
window.execScript(code);
} else if (Prototype.Browser.WebKit){
$$("head").first().insert(Object.extend(
new Element("script", {type: "text/javascript"}), {text: code}
));
} else {
window.eval(code);
}
// remember included script
this._loadedScripts.push(script);
}
};
Контроль утилита YUI Loader. Это - супер удобный, незаметный JavaScript для загрузки сценариев, по запросу.
Вот ссылка на пример с помощью non-YUI сценарии:
http://developer.yahoo.com/yui/examples/yuiloader/yl-addmodule.html
None of these methods, including document.writing a script tag, work if the script itself has a document.write in it.