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图片切换插件
Mar 16 Javascript
基于jQuery实现的旋转彩圈实例
Jun 26 Javascript
node.js+express制作网页计算器
Jan 17 Javascript
Bootstrap富文本组件wysiwyg数据保存到mysql的方法
May 09 Javascript
在js里怎么实现Xcode里的callFuncN方法(详解)
Nov 05 Javascript
Vue.js -- 过滤器使用总结
Feb 18 Javascript
JS jQuery使用正则表达式去空字符的简单实现代码
May 20 jQuery
解决select2在bootstrap modal中不能正常使用的问题
Aug 09 Javascript
Webpack 4.x搭建react开发环境的方法步骤
Aug 15 Javascript
Angular(5.2->6.1)升级小结
Dec 27 Javascript
10个最受欢迎的 JavaScript框架(推荐)
Apr 24 Javascript
vue实现下载文件流完整前后端代码
Nov 17 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
浅谈ThinkPHP的URL重写
2014/11/25 PHP
php 实现简单的登录功能示例【基于thinkPHP框架】
2019/12/02 PHP
Nigma vs Alliance BO5 第三场2.14
2021/03/10 DOTA
下载文件个别浏览器文件名乱码解决办法
2013/03/19 Javascript
javascript批量修改文件编码格式的方法
2015/01/27 Javascript
jQuery表单验证功能实例
2015/08/28 Javascript
JS实现根据文件字节数返回文件大小的方法
2016/08/02 Javascript
jQuery图片加载显示loading效果
2016/11/04 Javascript
JS组件系列之MVVM组件构建自己的Vue组件
2017/04/28 Javascript
js,jq,css多方面实现简易下拉菜单功能
2017/05/13 Javascript
NodeJS实现图片上传代码(Express)
2017/06/30 NodeJs
浅谈原型对象的常用开发模式
2017/07/22 Javascript
Vue中的scoped实现原理及穿透方法
2018/05/15 Javascript
Angularjs之ngModel中的值验证绑定方法
2018/09/13 Javascript
vue中created和mounted的区别浅析
2019/08/13 Javascript
Python实现把json格式转换成文本或sql文件
2015/07/10 Python
Python3 翻转二叉树的实现
2019/09/30 Python
使用Python函数进行模块化的实现
2019/11/15 Python
Python如何基于smtplib发不同格式的邮件
2019/12/30 Python
keras实现多GPU或指定GPU的使用介绍
2020/06/17 Python
Python 按比例获取样本数据或执行任务的实现代码
2020/12/03 Python
html5 音乐播放器 audio 标签使用概述
2013/07/15 HTML / CSS
全球第二大家装零售商:Lowe’s
2018/01/13 全球购物
欧洲、亚洲、非洲和拉丁美洲的度假套餐:Great Value Vacations
2019/03/30 全球购物
乌克兰机票、铁路和巴士票、酒店搜索、保险:Tickets.ua
2020/01/11 全球购物
空指针到底是什么
2012/08/07 面试题
英语专业学生的自我评价
2013/12/30 职场文书
学校介绍信范文
2014/01/14 职场文书
组织关系转移介绍信
2014/01/16 职场文书
户外拓展活动方案
2014/02/11 职场文书
售房协议书
2014/08/19 职场文书
董事长助理岗位职责
2015/02/11 职场文书
学术会议通知
2015/04/15 职场文书
红色影片观后感
2015/06/18 职场文书
人事行政部各岗位职责说明书!
2019/07/15 职场文书
导游词之河北白洋淀
2020/01/15 职场文书