本次以代码的形式描述过程
/**
* 异步顺序加载js [要求同域的js] [附带缓存时间3600秒]
* Usage:
async_js(["a.js","b.js"],function(){
console.log("加载成功");
});
*/
var async_js = function(src_arr,callback){
'use strict';
var those_js="";
$.ajax({
"url":src_arr[0],
"beforeSend": function(xhr){
// 附带缓存时间3600秒
xhr.setRequestHeader("Cache-Control","private,max-age=3600")
},
"success":function(js_text){
those_js += js_text; // 添加新的js文本到临时变量中
if( 1<src_arr.length ){
async_js( src_arr.slice(1), callback);
}else{
eval( those_js ); // 将所有加载的js执行
callback(); // 执行回调
}
}
,"error":function(){
// 发生错误时的提醒
console.error("src:"+src+" 加载失败");
}
});
}
评论列表点此评论