我正在尝试构建一个ajax脚本加载器,但是我遇到的问题是我将我的组合文件的两部分发送了两次(即.jquery,与其他脚本一起发送,正在发送两次因为通过网络发送的某些(ajax)请求的脚本需要它。
我的第一个想法是,我只是将md5块附加到文件名上,如果请求的脚本与其中的一部分相匹配,请不要发送 - 但是这对于100个捆绑的脚本来说不能很好地扩展。 / p>
有人有任何其他建议吗?
谢谢!
Matt Mueller
答案 0 :(得分:1)
我认为这取决于脚本类型。我个人定义了可用的库,然后测试一下是否已经定义了对象。
这里的WAG示例,就在我的脑海中(我认为这种方法可能会非常令人发指,但是比单独识别文本更快。)
//javascript loader shell
var loader = function(){
var loadLibrary = function(libraryName, fn){
//your code to verify and download library or collection here
//callback function
return fn();
}
return {
exec: function(libraryName, fn){
if(typeof(eval('window.'+libraryName)) != 'undefined'){
return fn();
} else {
return loadLibrary(libraryName, fn);
}
}
}
}();
//example usage
loader.exec('util', function(){util.test();});