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 去字符串空格终极版(支持utf8)
Nov 14 Javascript
Javascript document.referrer判断访客来源网址
May 15 Javascript
根据一段代码浅谈Javascript闭包
Dec 14 Javascript
jQuery中大家不太了解的几个方法
Mar 04 Javascript
jQuery实现复选框批量选择与反选的方法
Jun 17 Javascript
jquery对dom节点的操作【推荐】
Apr 15 Javascript
JavaScript ES5标准中新增的Array方法
Jun 28 Javascript
ThinkJS中如何使用MongoDB的CURD操作
Dec 13 Javascript
实例解析angularjs的filter过滤器
Dec 14 Javascript
Easyui Datagrid自定义按钮列(最后面的操作列)
Jul 13 Javascript
VUE 使用中踩过的坑
Feb 08 Javascript
js实现轮播图特效
May 28 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获取后台Job管理的实现代码
2011/06/10 PHP
php对数组排序代码分享
2014/02/24 PHP
PHP实现将浏览历史页面网址保存到cookie的方法
2015/01/26 PHP
常见PHP数据库解决方案分析介绍
2015/09/24 PHP
PHP微信开发之有道翻译
2016/06/23 PHP
PHP使用PHPExcel实现批量上传到数据库的方法
2017/06/08 PHP
PHP中引用类型和值类型功能与用法示例
2019/02/26 PHP
用JavaScript页面不刷新时全选择,全删除(GridView)
2009/04/14 Javascript
jquery json 实例代码
2010/12/02 Javascript
Jquery倒数计时按钮setTimeout的实例代码
2013/07/04 Javascript
onmouseover和onmouseout的一些问题思考
2013/08/14 Javascript
jQuery 快速结束当前正在执行的动画
2013/11/20 Javascript
httpclient模拟登陆具体实现(使用js设置cookie)
2013/12/11 Javascript
jquery动画效果学习笔记(8种效果)
2015/11/13 Javascript
js+canvas简单绘制圆圈的方法
2016/01/28 Javascript
indexedDB bootstrap angularjs之 MVC DOMO (应用示例)
2016/06/20 Javascript
easyui关于validatebox实现多重规则验证的方法(必看)
2017/04/12 Javascript
详解如何用模块化的方式写vuejs
2017/12/16 Javascript
vue-cli项目使用mock数据的方法(借助express)
2019/04/15 Javascript
浅谈Vue.use到底是什么鬼
2020/01/21 Javascript
[14:19]2018年度COSER大赛-完美盛典
2018/12/16 DOTA
python实现通过shelve修改对象实例
2014/09/26 Python
itchat和matplotlib的结合使用爬取微信信息的实例
2017/08/25 Python
Python基于高斯消元法计算线性方程组示例
2018/01/17 Python
Python之Class&Object用法详解
2019/12/25 Python
基于TensorFlow中自定义梯度的2种方式
2020/02/04 Python
PyQt5连接MySQL及QMYSQL driver not loaded错误解决
2020/04/29 Python
一款利用html5和css3实现的3D滚动特效的教程
2015/01/04 HTML / CSS
Html5移动端弹幕动画实现示例代码
2018/08/27 HTML / CSS
伦敦平价潮流珠宝首饰品牌:Astrid & Miyu
2016/10/10 全球购物
汽车技术服务与营销专业推荐信
2013/11/29 职场文书
四风问题对照检查整改措施思想报告
2014/10/05 职场文书
研究生个人学年总结
2015/02/14 职场文书
思想工作总结范文
2015/08/12 职场文书
基于PyTorch实现一个简单的CNN图像分类器
2021/05/29 Python
html5调用摄像头实例代码
2021/06/28 HTML / CSS