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_03(ExtJs Grid的简单使用)
Oct 02 Javascript
JAVASCRIPT IE 与 FF中兼容问题小结
Feb 18 Javascript
js前台分页显示后端JAVA数据响应
Mar 18 Javascript
当鼠标滑过文本框自动选中输入框内容的JS代码分享
Nov 26 Javascript
javascript的parseFloat()方法精度问题探讨
Nov 26 Javascript
js控制input框只读实现示例
Jan 20 Javascript
举例讲解Node.js中的Writable对象
Jul 29 Javascript
Bootstrap中CSS的使用方法
Feb 17 Javascript
不同js异步函数同步的实现方法
May 28 Javascript
原生js三级联动的简单实现代码
Jun 07 Javascript
Angular4.0动画操作实例详解
May 10 Javascript
vue中使用element组件时事件想要传递其他参数的问题
Sep 18 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原创论坛
2006/10/09 PHP
一段php加密解密的代码
2007/07/16 PHP
Laravel框架自定义公共函数的引入操作示例
2019/04/16 PHP
利用JS实现浏览器的title闪烁
2013/07/08 Javascript
javascript中如何处理引号编码"
2013/08/15 Javascript
深入理解JavaScript系列(48):对象创建模式(下篇)
2015/03/04 Javascript
JQuery中clone方法复制节点
2015/05/18 Javascript
详解JavaScript的变量和数据类型
2015/11/27 Javascript
JSON字符串和对象相互转换实例分析
2016/06/16 Javascript
详解jQuery简单的表格应用
2016/12/16 Javascript
JavaScript mixin实现多继承的方法详解
2017/03/30 Javascript
js轮播图透明度切换(带上下页和底部圆点切换)
2017/04/27 Javascript
js中json对象和字符串的理解及相互转化操作实现方法
2017/09/22 Javascript
JS与SQL方式随机生成高强度密码示例
2018/12/29 Javascript
详解微信小程序的不同函数调用的几种方法
2019/05/08 Javascript
electron实现静默打印的示例代码
2019/08/12 Javascript
Vue状态模式实现窗口停靠功能(灵动、自由, 管理后台Admin界面)
2020/03/06 Javascript
[01:37]TI4西雅图DOTA2前线报道 VG拿下首胜教练357给出获胜秘诀
2014/07/10 DOTA
[01:02:20]Mineski vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
学习python类方法与对象方法
2016/03/15 Python
详谈Python高阶函数与函数装饰器(推荐)
2017/09/30 Python
python的re正则表达式实例代码
2018/01/24 Python
Python 使用PIL中的resize进行缩放的实例讲解
2018/08/03 Python
利用Pyhton中的requests包进行网页访问测试的方法
2018/12/26 Python
Python 70行代码实现简单算式计算器解析
2019/08/30 Python
Python3实现将一维数组按标准长度分隔为二维数组
2019/11/29 Python
Django实现将一个字典传到前端显示出来
2020/04/03 Python
解决tensorflow模型压缩的问题_踩坑无数,总算搞定
2021/03/02 Python
美国最受欢迎的度假租赁网站:VRBO
2016/08/02 全球购物
采购部岗位职责
2013/11/24 职场文书
党员一句话承诺大全
2014/03/28 职场文书
2014年自愿离婚协议书范本
2014/09/25 职场文书
酒店收银员岗位职责
2015/04/07 职场文书
2016元旦晚会主持词开场白和结束语
2015/12/04 职场文书
vue.js 使用原生js实现轮播图
2022/04/26 Vue.js