javascript实现动态导入js与css等静态资源文件的方法

 更新时间:2015年07月25日 18:06:19   作者:anttribe  
这篇文章主要介绍了javascript实现动态导入js与css等静态资源文件的方法,基于回调函数实现该功能,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了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程序设计有所帮助。

相关文章

  • touch.js 拖动、缩放、旋转 (鼠标手势)功能代码

    touch.js 拖动、缩放、旋转 (鼠标手势)功能代码

    这篇文章主要介绍了touch.js 拖动、缩放、旋转 (鼠标手势)功能,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-02-02
  • JavaScript设计模式之策略模式实现原理详解

    JavaScript设计模式之策略模式实现原理详解

    这篇文章主要介绍了JavaScript设计模式之策略模式实现原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • Javascript合并表格中具有相同内容单元格示例

    Javascript合并表格中具有相同内容单元格示例

    表格相同内容单元格的合并在以前也有过类似的教程,本文为大家讲解的是使用Javascript合并,具体示例及效果图如下,感兴趣的朋友可以参考下
    2013-08-08
  • 使用JS获取SessionStorage的值

    使用JS获取SessionStorage的值

    这篇文章给大家介绍了使用js获取sessionstorage中的值,首先获取它是为了将获得的信息输出或者alert(),其次,在静态页面中,如果使用sessionStorage就相当于在动态页面里连接了数据库一样,具体内容详情大家参考下本文
    2018-01-01
  • 小程序animate动画实现直播间点赞

    小程序animate动画实现直播间点赞

    这篇文章主要为大家详细介绍了小程序animate动画实现直播间点赞,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • js html5 css俄罗斯方块游戏再现

    js html5 css俄罗斯方块游戏再现

    这篇文章主要为大家详细介绍了js html5 css俄罗斯方块游戏实现代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • JavaScript prototype 使用介绍

    JavaScript prototype 使用介绍

    用过JavaScript的同学们肯定都对prototype如雷贯耳,但是这究竟是个什么东西却让初学者莫衷一是,只知道函数都会有一个prototype属性,可以为其添加函数供实例访问,其它的就不清楚了,最近看了一些 JavaScript高级程序设计,终于揭开了其神秘面纱
    2013-08-08
  • 疯掉了,尽然有js写的操作系统

    疯掉了,尽然有js写的操作系统

    疯掉了,尽然有js写的操作系统...
    2007-04-04
  • 如何利用JavaScript实现二叉搜索树

    如何利用JavaScript实现二叉搜索树

    这篇文章主要给大家介绍了关于如何利用JavaScript实现二叉搜索树的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • layui 优化button按钮和弹出框的方法

    layui 优化button按钮和弹出框的方法

    今天小编就为大家分享一篇layui 优化button按钮和弹出框的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08

最新评论