私は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を使用したくありません.コードの使用に。
私が実際にやりたいことを達成するのに役立つページはありますか、または誰かが私を助けることができますか?