私の考えは、独立したモジュールを作成するときは、これらのメソッドを $.tools オブジェクトに統合することに注意してください。次に、ページ内でコントローラーを呼び出してモジュールをロードし、ロードが完了した後に $.tools 内のオブジェクトを判断します。その数は、ロードされたモジュールの事前定義された数と等しくなりますか? 等しくない場合は、コールバック関数を実行します。
/*
* LOADScript Mod
* Params url1,url2,url3,url4,fn
*/
jQuery.extend({
loadMod: function(){
var argleng = argument.length,
arglast = argument[argleng -1],
fn = false,
queue = [],
checknum = 0,
timer = null
// init
if(jQuery .isFunction( arglast)){argleng = argleng -1;fn=arglast;}
for (var i=0;i
queue.push(arguments[i]); >}
// getscript
jQuery.each(queue,function(i,o){
jQuery.getScript(o);
}); / ロードの準備ができているかどうかを確認します。
関数loadReady(){
checknum = 0; jQuery.tools ,function(i,n){
if(jQuery.isPlainObject(n)){checknum ;}
});
}
if(checknum != argleng){
clearTimeout(タイマー);
タイマー = setTimeout(loadReady, 100);
}else{
if(!!fn){fn.call(document.jQuery)}
}
}
}
});
// 使用法
$.loadMod('a.js','b.js','c.js',function() ){
アラート('成功!')
});