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 相关文章推荐
js 获取Listbox选择的值的代码
Apr 15 Javascript
ExtJS DOM元素操作经验分享
Aug 28 Javascript
将json对象转换为字符串的方法
Feb 20 Javascript
js实现日历可获得指定日期周数及星期几示例分享(js获取星期几)
Mar 14 Javascript
《JavaScript函数式编程》读后感
Aug 07 Javascript
xcode中获取js文件的路径方法(推荐)
Nov 05 Javascript
js微信分享实现代码
Oct 11 Javascript
[原创]jquery判断元素内容是否为空的方法
May 04 jQuery
vue中v-model的应用及使用详解
Jun 27 Javascript
JS大坑之19位数的Number型精度丢失问题详解
Apr 22 Javascript
js使用文件流下载csv文件的实现方法
Jul 15 Javascript
JS实现“全选”和"全不选"功能代码实例
Feb 06 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遍历文件夹与子目录的函数代码
2011/09/26 PHP
PHP+MySQL投票系统的设计和实现分享
2012/09/23 PHP
PHP的pcntl多进程用法实例
2015/03/19 PHP
PHP基于XMLWriter操作xml的方法分析
2017/07/17 PHP
php+Ajax无刷新验证用户名操作实例详解
2019/03/04 PHP
用JS将搜索的关键字高亮显示实现代码
2013/11/08 Javascript
JS 实现倒计时数字时钟效果【附实例代码】
2016/03/30 Javascript
js操作DOM--添加、删除节点的简单实例
2016/07/08 Javascript
js通过keyCode值判断单击键盘上某个键,然后触发指定的事件方法
2017/02/19 Javascript
对angularjs框架下controller间的传值方法详解
2018/10/08 Javascript
Vue源码探究之虚拟节点的实现
2019/04/17 Javascript
vue-cli 为项目设置别名的方法
2019/10/15 Javascript
vue中渲染对象中属性时显示未定义的解决
2020/07/31 Javascript
js获取图片的base64编码并压缩
2020/12/05 Javascript
Python Web框架Flask信号机制(signals)介绍
2015/01/01 Python
在Python下尝试多线程编程
2015/04/28 Python
利用python发送和接收邮件
2016/09/27 Python
python pandas dataframe 行列选择,切片操作方法
2018/04/10 Python
Windows 64位下python3安装nltk模块
2018/09/19 Python
Python创建一个空的dataframe,并循环赋值的方法
2018/11/08 Python
解决PySide+Python子线程更新UI线程的问题
2019/01/11 Python
python与C、C++混编的四种方式(小结)
2019/07/15 Python
Django Form and ModelForm的区别与使用
2019/12/06 Python
python实现快速文件格式批量转换的方法
2020/10/16 Python
Python调用系统命令os.system()和os.popen()的实现
2020/12/31 Python
20佳惊艳的HTML5应用程序示例分享
2011/05/03 HTML / CSS
极简的HTML5模版
2015/07/09 HTML / CSS
教师党员一句话承诺
2014/03/28 职场文书
某集团股份有限公司委托书样本
2014/09/24 职场文书
2014年人民警察入党思想汇报
2014/10/12 职场文书
服务员态度差检讨书
2014/10/28 职场文书
房屋授权无偿使用证明
2014/11/29 职场文书
2014年外贸业务员工作总结
2014/12/11 职场文书
小浪底导游词
2015/02/12 职场文书
傲慢与偏见电影观后感
2015/06/10 职场文书
SQL Server Agent 服务无法启动
2022/04/20 SQL Server