0

私は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を使用したくありません.コードの使用に。

私が実際にやりたいことを達成するのに役立つページはありますか、または誰かが私を助けることができますか?

4

0 に答える 0