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 相关文章推荐
js写一个弹出层并锁屏效果实现代码
Dec 07 Javascript
JS辨别访问浏览器判断是android还是ios系统
Aug 19 Javascript
详解JavaScript基于面向对象之继承实例
Dec 16 Javascript
JavaScript实现广告弹窗效果
Aug 09 Javascript
JavaScript中捕获与冒泡详解及实例
Feb 03 Javascript
微信JSAPI Ticket接口签名详解
Jun 28 Javascript
搭建vue开发环境
Jul 19 Javascript
React中如何引入Angular组件详解
Aug 09 Javascript
详解vue后台系统登录态管理
Apr 02 Javascript
JavaScript canvas仿代码流瀑布
Feb 10 Javascript
js实现简单放大镜效果
Mar 07 Javascript
Vue组件间的通信pubsub-js实现步骤解析
Mar 11 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/12/02 PHP
js中页面的重新加载(当前页面/上级页面)及frame或iframe元素引用介绍
2013/01/24 Javascript
将Datatable转化成json发送前台实现思路
2013/09/06 Javascript
JQuery处理json与ajax返回JSON实例代码
2014/01/03 Javascript
jQuery使用drag效果实现自由拖拽div
2015/06/11 Javascript
Javascript简单实现面向对象编程继承实例代码
2015/11/27 Javascript
Javascript自定义事件详解
2017/01/13 Javascript
原生js实现拖拽功能基本思路详解
2018/04/18 Javascript
小试SVG之新手小白入门教程
2019/01/08 Javascript
js中事件对象和事件委托的介绍
2019/01/21 Javascript
vue 里面的 $forceUpdate() 强制实例重新渲染操作
2020/09/21 Javascript
Vue页面渲染中key的应用实例教程
2021/01/12 Vue.js
动态实现element ui的el-table某列数据不同样式的示例
2021/01/22 Javascript
[55:25]2018DOTA2亚洲邀请赛3月29日 小组赛A组 VG VS OG
2018/03/30 DOTA
python正则表达式修复网站文章字体不统一的解决方法
2013/02/21 Python
python实现socket端口重定向示例
2014/02/10 Python
利用python实现命令行有道词典的方法示例
2017/01/31 Python
python利用smtplib实现QQ邮箱发送邮件
2020/05/20 Python
Python爬虫包BeautifulSoup实例(三)
2018/06/17 Python
Python装饰器简单用法实例小结
2018/12/03 Python
对django layer弹窗组件的使用详解
2019/08/31 Python
如何通过python实现全排列
2020/02/11 Python
Django REST framwork的权限验证实例
2020/04/02 Python
Django之腾讯云短信的实现
2020/06/12 Python
Python实例教程之检索输出月份日历表
2020/12/16 Python
西海岸男士和男童服装:Johnnie-O
2018/03/15 全球购物
Clarria化妆品官方网站:购买天然和有机化妆品系列
2018/04/08 全球购物
Nike香港官网:Nike HK
2019/03/23 全球购物
超市促销实习自我鉴定
2013/09/23 职场文书
十佳班主任事迹材料
2014/01/18 职场文书
聘任证明怎么写
2015/03/02 职场文书
2015学校年度工作总结
2015/05/11 职场文书
毕业典礼致辞
2015/07/29 职场文书
python中requests库+xpath+lxml简单使用
2021/04/29 Python
python中的getter与setter你了解吗
2022/03/24 Python
Mysql将字符串按照指定字符分割的正确方法
2022/05/30 MySQL