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 相关文章推荐
jquery简单体验
Jan 10 Javascript
JScript的条件编译
May 29 Javascript
Jquery UI震动效果实现原理及步骤
Feb 04 Javascript
使用Math.floor与Math.random取随机整数的方法详解
May 07 Javascript
jquery实现在光标位置插入内容的方法
Feb 05 Javascript
javascript汉字拼音互转的简单实例
Oct 09 Javascript
Javascript 实现微信分享(QQ、朋友圈、分享给朋友)
Oct 21 Javascript
ReactNative踩坑之配置调试端口的解决方法
Jul 28 Javascript
又拍云 Node.js 实现文件上传、删除功能
Oct 28 Javascript
vue-cli3 项目从搭建优化到docker部署的方法
Jan 28 Javascript
vue项目中使用particles实现粒子背景效果及遇到的坑(按钮没有点击响应)
Feb 11 Javascript
微前端qiankun改造日渐庞大的项目教程
Jun 21 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中获取url与物理路径的总结
2013/06/21 PHP
ThinkPHP3.1的Widget新用法
2014/06/19 PHP
PHP防止注入攻击实例分析
2014/11/03 PHP
php简单实现屏蔽指定ip段用户的访问
2015/04/29 PHP
PHP中常用的数组操作方法笔记整理
2016/05/16 PHP
php微信公众平台开发(四)回复功能开发
2016/12/06 PHP
thinkphp中U方法按路由规则生成url的方法
2018/03/12 PHP
Laravel的Auth验证Token验证使用自定义Redis的例子
2019/09/30 PHP
控制打印时页眉角的代码
2007/02/08 Javascript
写了10年的Javascript也未必全了解的连续赋值运算
2011/03/25 Javascript
jQuery 版元素拖拽原型代码
2011/04/25 Javascript
javascript正则匹配汉字、数字、字母、下划线
2014/04/10 Javascript
jQuery操作表格(table)的常用方法、技巧汇总
2014/04/12 Javascript
JavaScript中实现最高效的数组乱序方法
2014/10/11 Javascript
JavaScript中的small()方法使用详解
2015/06/08 Javascript
Nodejs爬虫进阶教程之异步并发控制
2016/02/15 NodeJs
AngularJS入门教程之Scope(作用域)
2016/07/27 Javascript
AngularJs Understanding the Model Component
2016/09/02 Javascript
JS中去掉array中重复元素的方法
2017/05/26 Javascript
React Native如何消除启动时白屏的方法
2017/08/08 Javascript
使用nodeJs来安装less及编译less文件为css文件的方法
2017/11/20 NodeJs
Element 默认勾选表格 toggleRowSelection的实现
2019/09/04 Javascript
详解微信小程序中var、let、const用法与区别
2020/01/11 Javascript
python urllib爬取百度云连接的实例代码
2017/06/19 Python
python3 selenium 切换窗口的几种方法小结
2018/05/21 Python
Pipenv一键搭建python虚拟环境的方法
2018/05/22 Python
pytorch torch.nn.AdaptiveAvgPool2d()自适应平均池化函数详解
2020/01/03 Python
TensorFlow绘制loss/accuracy曲线的实例
2020/01/21 Python
浅谈pytorch池化maxpool2D注意事项
2020/02/18 Python
python实现登录与注册系统
2020/11/30 Python
amaze ui 的使用详细教程
2020/08/19 HTML / CSS
澳大利亚在线性感内衣商店:Fantasy Lingerie
2021/02/07 全球购物
工伤事故赔偿协议书
2014/04/15 职场文书
关爱留守儿童倡议书
2014/04/15 职场文书
个人考核材料
2014/05/15 职场文书
2016年全国爱眼日宣传教育活动总结
2016/04/05 职场文书