メインのjavascriptファイルで変数を使用する$.getScript
と、含まれているjsファイルに渡すことができません。例えば:
var tVar = 'Hello World!';
$.getScript('js/setting.js', function() {
// My callback code
});
設定.js :
alert(tVar);
インクルードファイルに変数を渡すにはどうすればよいですか?
インクルードされたjsファイル内で関数を使用し、変数を引数としてその関数に渡すことができます。
ロードされたスクリプトは、グローバル変数にのみアクセスできます。
次の 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
}
まあ、正直なところ、なぜもっと多くの人がこれをしないのかわかりませんが、これが私がすることです
// 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 );
});