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 获取json数据实现代码
Apr 27 Javascript
Javascript 学习书 推荐
Jun 13 Javascript
数组Array进行原型prototype扩展后带来的for in遍历问题
Feb 07 Javascript
js模拟滚动条(横向竖向)
Feb 22 Javascript
flash遮住div问题的正确解决方法
Feb 27 Javascript
JS阻止用户多次提交示例代码
Mar 26 Javascript
JavaScript File API文件上传预览
Feb 02 Javascript
JS简单编号生成器实现方法(附demo源码下载)
Apr 05 Javascript
jQuery延迟执行的实现方法
Dec 21 Javascript
Vue cli构建及项目打包以及出现的问题解决
Aug 27 Javascript
D3.js(v3)+react 实现带坐标与比例尺的散点图 (V3版本)
May 09 Javascript
详解JavaScript之ES5的继承
Jul 08 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实现邮件发送并带有附件
2014/01/24 PHP
PHP实现全角字符转为半角方法汇总
2015/07/09 PHP
我整理的PHP 7.0主要新特性
2016/01/07 PHP
PHP如何将XML转成数组
2016/04/04 PHP
php 输入输出流详解及示例代码
2016/08/25 PHP
PHP中大括号'{}'用法实例总结
2017/02/08 PHP
PHP多进程编程之僵尸进程问题的理解
2017/10/15 PHP
VBScript版代码高亮
2006/06/26 Javascript
js 实现菜单左右滚动显示示例介绍
2013/11/21 Javascript
jquery 合并内容相同的单元格(示例代码)
2013/12/13 Javascript
jQuery.event兼容各浏览器的event详细解析
2013/12/18 Javascript
浅谈javascript的Touch事件
2015/09/27 Javascript
javascript断点调试心得分享
2016/04/23 Javascript
详解JavaScript中Hash Map映射结构的实现
2016/05/21 Javascript
bootstrap table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)代码分享
2017/01/24 Javascript
js实现点击生成随机div
2020/01/16 Javascript
ES2020 已定稿,真实场景案例分析
2020/05/25 Javascript
[03:55]TI9战队采访——TNC Predator
2019/08/22 DOTA
用Python编写一个简单的FUSE文件系统的教程
2015/04/02 Python
给Python的Django框架下搭建的BLOG添加RSS功能的教程
2015/04/08 Python
python+pillow绘制矩阵盖尔圆简单实例
2018/01/16 Python
浅谈python 导入模块和解决文件句柄找不到问题
2018/12/15 Python
十个Python练手的实战项目,学会这些Python就基本没问题了(推荐)
2019/04/26 Python
Python批量生成幻影坦克图片实例代码
2019/06/04 Python
浅谈PyQt5 的帮助文档查找方法,可以查看每个类的方法
2019/06/25 Python
手把手教你如何用Pycharm2020.1.1配置远程连接的详细步骤
2020/08/07 Python
用Python实现童年贪吃蛇小游戏功能的实例代码
2020/12/07 Python
HTML5 MiranaVideo播放器 (代码开源)
2010/06/11 HTML / CSS
南非最受欢迎的时尚品牌:MRP
2016/09/18 全球购物
美国家居装饰店:Z Gallerie
2020/12/28 全球购物
法国包包和行李箱销售网站:Bagage24.fr
2020/03/24 全球购物
优秀党员转正的自我评价
2013/10/06 职场文书
2016大学生社会实践心得体会范文
2016/01/14 职场文书
python3使用diagrams绘制架构图的步骤
2021/04/08 Python
详解Go与PHP的语法对比
2021/05/29 PHP
python 多态 协议 鸭子类型详解
2021/11/27 Python