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面向对象编程
Mar 04 Javascript
IE中jquery.form中ajax提交没反应解决方法分享
Sep 11 Javascript
Angularjs 制作购物车功能实例代码
Sep 14 Javascript
javaScript+turn.js实现图书翻页效果实例代码
Feb 16 Javascript
Angularjs自定义指令实现分页插件(DEMO)
Sep 16 Javascript
Vue组件之全局组件与局部组件的使用详解
Oct 09 Javascript
旺旺在线客服代码 旺旺客服代码生成器
Jan 09 Javascript
Js 利用正则表达式和replace函数获取string中所有被匹配到的文本(推荐)
Oct 28 Javascript
js验证身份证号码记录的方法
Apr 26 Javascript
这15个Vue指令,让你的项目开发爽到爆
Oct 11 Javascript
js实现贪吃蛇小游戏
Oct 29 Javascript
vue iview 隐藏Table组件里的某一列操作
Nov 13 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 json_encode中文乱码问题的解决办法
2013/09/09 PHP
PHP+Apache实现二级域名之间共享cookie的方法
2019/07/24 PHP
Js+XML 操作
2006/09/20 Javascript
精通Javascript系列之Javascript基础篇
2011/06/07 Javascript
JavaScript 基本概念
2015/01/20 Javascript
Nodejs如何搭建Web服务器
2016/03/28 NodeJs
jQuery Password Validation密码验证
2016/12/30 Javascript
AngularJS使用带属性值的ng-app指令实现自定义模块自动加载的方法
2017/01/04 Javascript
原生js仿浏览器滚动条效果
2017/03/02 Javascript
微信小程序page的生命周期和音频播放及监听实例详解
2017/04/07 Javascript
jQuery之动画ajax事件(实例讲解)
2017/07/18 jQuery
关于JavaScript中forEach和each用法浅析
2017/07/27 Javascript
写给小白看的JavaScript异步
2017/11/29 Javascript
jQuery发请求传输中文参数乱码问题的解决方案
2018/05/22 jQuery
详解Webpack-dev-server的proxy用法
2018/09/08 Javascript
细说Vue组件的服务器端渲染的过程
2019/05/30 Javascript
Vue强制组件重新渲染的方法讨论
2020/02/03 Javascript
[03:58]兄弟们,回来开黑了!DOTA2昔日战友招募宣传视频
2016/07/17 DOTA
Python实现求笛卡尔乘积的方法
2017/09/16 Python
Python实现的人工神经网络算法示例【基于反向传播算法】
2017/11/11 Python
详解Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)
2019/05/27 Python
Python爬取智联招聘数据分析师岗位相关信息的方法
2019/08/13 Python
浅谈python之自动化运维(Paramiko)
2020/01/31 Python
python 使用elasticsearch 实现翻页的三种方式
2020/07/31 Python
如何基于matlab相机标定导出xml文件
2020/11/02 Python
HTML5新增form控件和表单属性实例代码详解
2019/05/15 HTML / CSS
印度网上购物首选目的地:Flipkart
2016/08/01 全球购物
Contém1g官网:巴西彩妆品牌
2020/01/17 全球购物
C/C++程序员常见面试题二
2015/11/19 面试题
C#里面如何判断一个Object是否是某种类型(如Boolean)?
2016/02/10 面试题
建材业务员岗位职责
2013/12/08 职场文书
节能环保演讲稿
2014/08/28 职场文书
2015年少先队活动总结
2015/03/25 职场文书
tensorboard 可视化之localhost:6006不显示的解决方案
2021/05/22 Python
python 离散点图画法的实现
2022/04/01 Python
MySQL sql模式设置引起的问题
2022/05/15 MySQL