2

メインのjavascriptファイルで変数を使用する$.getScriptと、含まれているjsファイルに渡すことができません。例えば:

var tVar = 'Hello World!';
$.getScript('js/setting.js', function() {
    // My callback code
});

設定.js :

alert(tVar);

インクルードファイルに変数を渡すにはどうすればよいですか?

4

3 に答える 3

2

インクルードされたjsファイル内で関数を使用し、変数を引数としてその関数に渡すことができます。

于 2012-04-26T09:16:09.823 に答える
1

ロードされたスクリプトは、グローバル変数にのみアクセスできます。

次の 2 つのオプションがあります。

  1. グローバル変数を一時的に作成します。
  2. コールバック内から注入された関数を呼び出します。

方法 1 のコード:

var tVar = 'Hello World!';
$.getScript('js/setting.js');
window.get_tVar = function() {
    delete window.get_tVar; // Clean-up
    return tVar;
};
// In settings.js:
function logic() {
    var tVar = window.get_tVar();
}

方法 2 のコード:

var tVar = 'Hello World!';
$.getScript('js/setting.js', function() {
    newGlobalFunc(tVar);
});

// In settings.js:
function newGlobalFunc(tVar) {
    // Do something
}
于 2012-04-26T09:16:37.897 に答える
0

まあ、正直なところ、なぜもっと多くの人がこれをしないのかわかりませんが、これが私がすることです

// settings.js

var com = {};
com.example = {};    

( function( $ ) {

    com.example.Main = function(){
        var private = {};
        var public = {};

        public.initialize = function( myVar ){
            alert( myVar );
        }

        return public;
    }()

})( jQuery );


// main 
var myVar = 'Hello World!';
$.getScript('js/setting.js', function() {
    com.example.Main.initialize( myVar );
});
于 2012-04-26T09:20:02.793 に答える