工作中的总结(2)【js的动态按需加载和版本控制】
页面
<script>
var date=new Date();
$("head").append('\<script src="../js/config.js?v="'+date.getTime()+'\>\<\/script\>');
</script>
js
var data = "20171218";
var variable={
salesOrder:"../js/salesOrder.js?"+data,
city:"../js/salesOrder.js?"+data,
};
var version={
salesOrder:[variable.salesOrder,variable.city,variable.search,variable.archives],
};
function addScript(obj){
var name=getName(location.href);
var len=obj[name].length-1;
loadScript(len);
function loadScript(x){
if(x<0){return};
var script = document.createElement("script");
script.type = "text/javascript";
if(script.readyState){ // IE
script.onreadystatechange = function(){
if(script.readyState == "loaded" || script.readyState == "complete"){
script.onreadystatechange = null;
loadScript(x-1);
}
};
}else{ // FF, Chrome, Opera, ...
script.onload = function(){
loadScript(x-1);
};
}
script.src = obj[name][x];
document.getElementsByTagName("head")[0].appendChild(script);
}
}
function getName(parames){
var str=parames.split('?')[0].split("/");
var name=str[str.length-1];
return name.split(".")[0];
};
addScript(version);