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代码格式化和语法着色V2
Oct 14 Javascript
十个优秀的Ajax/Javascript实例网站收集
Mar 31 Javascript
如何将一个String和多个String值进行比较思路分析
Apr 22 Javascript
jQuery Ajax使用实例
Apr 16 Javascript
JQuery菜单效果的两个实例讲解(3)
Sep 17 Javascript
jquery+css实现简单的图片轮播效果
Aug 07 jQuery
AngularJS基于http请求实现下载php生成的excel文件功能示例
Jan 23 Javascript
vue中的router-view组件的使用教程
Oct 23 Javascript
微信小程序Flex布局用法深入浅出分析
Apr 25 Javascript
JS实现分页导航效果
Feb 19 Javascript
JS箭头函数和常规函数之间的区别实例分析【 5 个区别】
May 27 Javascript
js判断两个数组相等的5种方法
May 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
最省空间的计数器
2006/10/09 PHP
php header()函数使用说明
2008/07/10 PHP
php防止sql注入示例分析和几种常见攻击正则表达式
2014/01/12 PHP
php项目开发中用到的快速排序算法分析
2016/06/25 PHP
在PHP中输出JS语句以及乱码问题的解决方案
2019/02/13 PHP
PHP+iframe模拟Ajax上传文件功能示例
2019/07/02 PHP
将函数的实际参数转换成数组的方法
2010/01/25 Javascript
jQuery 技巧小结
2010/04/02 Javascript
JS截取字符串常用方法详细整理
2013/10/28 Javascript
node.js中的http.get方法使用说明
2014/12/14 Javascript
js函数与php函数的区别实例浅析
2015/01/12 Javascript
每天一篇javascript学习小结(Boolean对象)
2015/11/12 Javascript
javascript日期格式化方法小结
2015/12/17 Javascript
JavaScript程序中的流程控制语句用法总结
2016/05/23 Javascript
node.js实现复制文本到剪切板的功能
2017/01/23 Javascript
nodejs实现的简单web服务器功能示例
2018/03/15 NodeJs
Bootstrap Fileinput 4.4.7文件上传实例详解
2018/07/25 Javascript
js如何获取访问IP、地区、当前操作浏览器
2019/07/23 Javascript
JS实现利用闭包判断Dom元素和滚动条的方向示例
2019/08/26 Javascript
Node.js API详解之 string_decoder用法实例分析
2020/04/29 Javascript
微信小程序实现列表左右滑动
2020/11/19 Javascript
python2.7实现FTP文件下载功能
2018/04/15 Python
对python中数组的del,remove,pop区别详解
2018/11/07 Python
基于Python安装pyecharts所遇的问题及解决方法
2019/08/12 Python
Python如何读写二进制数组数据
2020/08/01 Python
Python使用pycharm导入pymysql教程
2020/09/16 Python
pycharm 如何取消连按两下shift出现的全局搜索
2021/01/15 Python
结合CSS3的新特性来总结垂直居中的实现方法
2016/05/30 HTML / CSS
中国宠物用品商城:E宠商城
2016/08/27 全球购物
商场中秋节活动方案
2014/02/07 职场文书
供货协议书范本
2014/04/22 职场文书
实习生评语
2014/04/26 职场文书
领导干部作风整顿个人剖析材料
2014/10/11 职场文书
2014年档案管理工作总结
2014/11/17 职场文书
统计员岗位职责
2015/02/11 职场文书
2015年全国“爱牙日”宣传活动总结
2015/03/23 职场文书