星空网 > 软件开发 > Java

如何统一加载常用js和css文件

为了方便资源管理和提升工作效率,常用的js和css文件的加载应该放在一个统一文件里面完成,也方便后续的资源维护。所以我用js写了以下方法,存放在“sourceController.js”文件内。

 

/** * Created by Administrator on 2016/9/10. */function sourceController(){  var root = ""; // 根路径  this.opt = {    root : root  };  // css存储路径  this.css = {    css0 : "javaScript/bootstrap/css/bootstrap.css",    css1 : "css/iconfont/iconfont.css"  };  // js存储路径  this.script = {    script0 : "javaScript/jquery.js",    script1 : "javaScript/bootstrap/js/bootstrap.js"  };  /* 设置文件根目录   * @param url 根目录地址   */  this.setRoot = function(url){    root = url;  };  /* 添加常用资源 */  this.addSource = function(){    addMeta([["http-equiv", "X-UA-Compatible"],["content", "IE=edge"]]);    addMeta([["name", "viewport"],["content", "width=device-width, initial-scale=1"]]);    for (var i = 0; i < Object.getOwnPropertyNames(this.css).length; i++){      this.addCss(this.css["css" + i]);    }    for (var i = 0; i < Object.getOwnPropertyNames(this.script).length; i++){      this.addScript(this.script["script" + i]);    }  };  /* 添加Script文件   * @param url script文件路径   */  this.addScript = function(url){    var script = document.createElement("script");    script.setAttribute("type","text/javascript");    if (root != "") {      url = root + "/" + url;    }    script.src = url;    setTimeout(function(){      document.getElementsByTagName("head")[0].appendChild(script);    },1); // 为了保证顺序加载完整  };  /* 添加CSS文件   * @param url css文件路径   */  this.addCss = function(url){    var css = document.createElement("link");    css.setAttribute("rel", "stylesheet");    if (root != "") {      url = root + "/" + url;    }    css.href = url;    document.getElementsByTagName("head")[0].appendChild(css);  };  /* 回调函数   * @param func 回调方法   */  this.callback = function(func){    setTimeout(func,50); // 为了让文件加载完成,页面排布完毕  };  /* 添加meta   * @param attr meta属性,为二维数组   */  function addMeta(attr){    var meta = document.createElement("meta");    for (var i = 0; i < attr.length; i++){      meta.setAttribute(attr[i][0], attr[i][1]);    }    document.getElementsByTagName("head")[0].appendChild(meta);  }}

在需要引入的页面只需要在<head>加入如下代码就可以一下子引入所有的常用资源了。为了显示美观在所有布局完成之间body设置visibility为hidden,布局完成后显示出来。

<script src='/images/loading.gif' data-original="javaScript/sourceController.js"></script><script>   window.onload = function(){     var sc = new sourceController();     sc.addSource();     sc.addCss("css/common.css"); // 额外需要添加的css文件     sc.addScript("javaScript/index.js"); // 额外需要添加的js文件     sc.callback(function(){       document.body.style.display = "block"; // 所有布局完成后的回调方法,可以根据个人需要定义     });   };</script>

 




原标题:如何统一加载常用js和css文件

关键词:JS

JS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

预测五年后跨境电商的三大趋势走向:https://www.ikjzd.com/articles/131352
阿联酋亚马逊 VS Noon,流量市场份额大比拼:https://www.ikjzd.com/articles/131353
亚马逊卖家共同的老板杰夫贝索斯以及他的爱情:https://www.ikjzd.com/articles/131368
关于亚马逊产品Listing视频上传:https://www.ikjzd.com/articles/131370
一款健身单车引爆英国站,转型跨境的国企新卖家,凭借它两月售出200万!:https://www.ikjzd.com/articles/131371
亚马逊儿童产品安全受关注:https://www.ikjzd.com/articles/131372
响沙湾门票套票价格大介绍(省钱攻略必备):https://www.vstour.cn/a/404238.html
上海到镇江茅山旅游攻略 上海到镇江茅山旅游攻略路线:https://www.vstour.cn/a/404239.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流