我正在玩javascript,加载文件和玩回调。
我目前正在使用此代码
var test_two = {};
(function(pub) {
var self = this;
pub.loadScript = function(url, callback){
var script = document.createElement("script")
script.type = "text/javascript";
script.src = url+'.js';
if (script.readyState){ //IE
script.onreadystatechange = function(){
if (script.readyState == "loaded" ||
script.readyState == "complete"){
script.onreadystatechange = null;
callback();
}
};
} else { //Others
script.onload = function(){
callback();
};
}
console.log('Callback '+callback);
self[url] = callback;
document.getElementsByTagName("head")[0].appendChild(script);
}
})(test_two);
如果我像
一样使用它,这确实有效 test_two.loadScript('loadIt', function(){
//code here
});
现在我想要的是能够做类似
的事情 loaded_script = test_two.loadScript('loadIt');
或
test_two.loadScript('loadIt', loaded_script);
并使用'loaded_script'
引用加载的脚本(变量和方法)我已尝试将其自动添加到我拥有的命名空间中,如您所见
self[url] = callback;
但它未定义。
您可以通过RequireJS看到这一点。
现在在你告诉我搜索之前,我一整天都在搜索没有任何答案给我我需要的东西,我不想使用RequireJS或jQuery,因为我正在努力学习这样的工作和不只是开始使用代码。
是否有任何页面可以帮助我实际完成我想要的内容,或者有人可以帮助我吗?