javascript实现动态导入js与css等静态资源文件的方法


Posted in Javascript onJuly 25, 2015

本文实例讲述了javascript实现动态导入js与css等静态资源文件的方法。分享给大家供大家参考。具体实现方法如下:

/**
 * 动态导入静态资源文件js/css
 */
var $import = function(){
  return function(rId, res, callback){
    if(res && 'string' == typeof res){
      if(rId){
        if($($('#' + rId), $('head')).length>0){
          return;
        }
      }
      //加载资源文件
      var sType = res.substring(res.lastIndexOf('.') + 1);
      // 支持js/css
      if(sType && ('js' == sType || 'css' == sType)){
        var isScript = (sType == 'js');
        var tag = isScript ? 'script' : 'link';
        var head = document.getElementsByTagName('head')[0];
        // 创建节点
        var linkScript = document.createElement(tag);
        linkScript.type = isScript ? 'text/javascript' : 'text/css';
        linkScript.charset = 'UTF-8';
        if(!isScript){
          linkScript.rel = 'stylesheet';
        }
        isScript ? linkScript.src = res : linkScript.href = res;
        if(callback && 'function' == typeof callback){
          if (linkScript.addEventListener){
            linkScript.addEventListener('load', function(){
              callback.call();
            }, false);
          } else if (linkScript.attachEvent) {
            linkScript.attachEvent('onreadystatechange', function(){
              var target = window.event.srcElement;
              if (target.readyState == 'complete') {
                callback.call();
              }
            });
          }
        }
        head.appendChild(linkScript);
      }
    }
  };
}();

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
用javascript编写的第一人称射击游戏
Feb 25 Javascript
Mootools 图片展示插件(lightbox,ImageMenu)收集集合
May 21 Javascript
ASP.NET jQuery 实例4(复制TextBox的文本到本地剪贴板上)
Jan 13 Javascript
javascript使用正则表达式实现去掉空格之后的字符
Feb 15 Javascript
jQuery获取某天的农历日期并判断是否除夕或新年的方法
Mar 01 Javascript
JavaScript动态添加事件之事件委托
Jul 12 Javascript
javascript 注释代码的几种方法总结
Jan 04 Javascript
Vue动态获取width的方法
Aug 22 Javascript
vuex2中使用mapGetters/mapActions报错的解决方法
Oct 20 Javascript
Element Input输入框的使用方法
Jul 26 Javascript
javascript的hashCode函数实现代码小结
Aug 11 Javascript
JavaScript十大取整方法实例教程
Dec 03 Javascript
javascript创建动态表单的方法
Jul 25 #Javascript
javascript文件加载管理简单实现方法
Jul 25 #Javascript
javascript页面倒计时实例
Jul 25 #Javascript
javascript解析xml实现省市县三级联动的方法
Jul 25 #Javascript
基于javascript实现单选及多选的向右和向左移动实例
Jul 25 #Javascript
javascript实现信息增删改查的方法
Jul 25 #Javascript
jQuery菜单插件用法实例
Jul 25 #Javascript
You might like
一个很不错的PHP翻页类
2009/06/01 PHP
php visitFile()遍历指定文件夹函数
2010/08/21 PHP
PHP单元测试配置与使用方法详解
2019/12/27 PHP
JavaScript类和继承 constructor属性
2010/03/04 Javascript
javascript 子窗体父窗体相互传值方法
2010/05/31 Javascript
常见JS效果之图片减速度滚动实现代码
2011/12/08 Javascript
ASP.NET jQuery 实例16 通过控件CustomValidator验证RadioButtonList
2012/02/03 Javascript
jQuery快速上手:写jQuery与直接写JS的区别详细解析
2013/08/26 Javascript
jquery实现图片灯箱明暗的遮罩效果
2013/11/15 Javascript
基于javascript实现判断移动终端浏览器版本信息
2014/12/09 Javascript
JS实现的在线调色板实例(附demo源码下载)
2016/03/01 Javascript
前端弹出对话框 js实现ajax交互
2016/09/09 Javascript
webpack入门必知必会
2017/01/16 Javascript
Vue学习笔记进阶篇之vue-cli安装及介绍
2017/07/18 Javascript
详解如何使用webpack在vue项目中写jsx语法
2017/11/08 Javascript
微信小程序实现手势图案锁屏功能
2018/01/30 Javascript
如何以Angular的姿势打开Font-Awesome详解
2018/04/22 Javascript
Node.js一行代码实现静态文件服务器的方法步骤
2019/05/07 Javascript
layui 监听select选择 获取当前select的ID名称方法
2019/09/24 Javascript
js实现随机抽奖
2020/03/19 Javascript
python之文件的读写和文件目录以及文件夹的操作实现代码
2016/08/28 Python
mac PyCharm添加Python解释器及添加package路径的方法
2018/10/29 Python
Python遍历文件夹 处理json文件的方法
2019/01/22 Python
Python定时任务APScheduler的实例实例详解
2019/07/22 Python
python 实现目录复制的三种小结
2019/12/04 Python
python实现输入的数据在地图上生成热力图效果
2019/12/06 Python
关于Pytorch的MNIST数据集的预处理详解
2020/01/10 Python
聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明
2021/03/03 Python
分享CSS3中必须要知道的10个顶级命令
2012/04/26 HTML / CSS
教师专业理论水平的自我评价分享
2013/11/09 职场文书
优秀学生干部个人事迹材料
2014/06/02 职场文书
航空学院求职信
2014/06/11 职场文书
2014幼儿园家长工作总结
2014/11/10 职场文书
团员自我评价范文
2015/03/10 职场文书
宣传部部长竞选稿
2015/11/21 职场文书
Python IO文件管理的具体使用
2022/03/20 Python