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 相关文章推荐
Display SQL Server Login Mode
Jun 21 Javascript
设置jsf的选择框h:selectOneMenu为不可编辑状态的方法
Jan 07 Javascript
javaScript中的this示例学习详解及工作原理
Jan 13 Javascript
JavaScript中String.prototype用法实例
May 20 Javascript
jQuery动画效果图片轮播特效
Jan 12 Javascript
javascript自定义滚动条实现代码
Apr 20 Javascript
JavaScript新增样式规则(推荐)
Jul 19 Javascript
原生JS上传大文件显示进度条 php上传文件代码
Mar 27 Javascript
关于Angularjs中跨域设置白名单问题
Apr 17 Javascript
微信小程序时间控件picker view使用详解
Dec 28 Javascript
使用vue-cli3 创建vue项目并配置VS Code 自动代码格式化 vue语法高亮问题
May 14 Javascript
详解Vue的sync修饰符
May 15 Vue.js
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
腾讯微博提示missing parameter errorcode 102 错误的解决方法
2014/12/22 PHP
php绘图之生成饼状图的方法
2015/01/24 PHP
Codeigniter控制器controller继承问题实例分析
2016/01/19 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
2018/02/11 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
ThinkPHP框架实现的微信支付接口开发完整示例
2019/04/10 PHP
PHP+百度AI OCR文字识别实现了图片的文字识别功能
2019/05/08 PHP
Yii 使用intervention/image拓展实现图像处理功能
2019/06/22 PHP
JQuery 应用 JQuery.groupTable.js
2010/12/15 Javascript
js获取height和width的方法说明
2013/01/06 Javascript
javascript中parentNode,childNodes,children的应用详解
2013/12/17 Javascript
javascript操纵OGNL标签示例代码
2014/06/16 Javascript
Function.prototype.apply()与Function.prototype.call()小结
2016/04/27 Javascript
JQuery EasyUI Layout 在from布局自适应窗口大小的实现方法
2016/05/28 Javascript
有关jQuery中parent()和siblings()的小问题
2016/06/01 Javascript
表格展示利器 Bootstrap Table实例代码
2017/09/06 Javascript
AngularJS实现自定义指令及指令配置项的方法
2017/11/20 Javascript
手写Node静态资源服务器的实现方法
2018/03/20 Javascript
vue裁切预览组件功能的实现步骤
2018/05/04 Javascript
原生JS实现$.param() 函数的方法
2018/08/10 Javascript
Vue动画事件详解及过渡动画实例
2019/02/09 Javascript
实用的 vue tags 创建缓存导航的过程实现
2020/12/03 Vue.js
Python入门教程之if语句的用法
2015/05/14 Python
Python中字符串格式化str.format的详细介绍
2017/02/17 Python
python中的计时器timeit的使用方法
2017/10/20 Python
Python字符串格式化输出代码实例
2019/11/22 Python
tensorflow mnist 数据加载实现并画图效果
2020/02/05 Python
windows系统Tensorflow2.x简单安装记录(图文)
2021/01/18 Python
HTML5 canvas 瀑布流文字效果的示例代码
2018/01/31 HTML / CSS
咖啡蛋糕店创业计划书
2014/01/28 职场文书
2014学校庆三八妇女节活动总结
2014/03/01 职场文书
物流管理专业毕业生自荐信
2014/03/04 职场文书
学习决心书
2014/03/11 职场文书
给朋友的赠语
2015/06/23 职场文书
利用 SQL Server 过滤索引提高查询语句的性能分析
2021/07/15 SQL Server
Flutter Navigator 实现路由传递参数
2022/04/22 Java/Android