javascript带回调函数的异步脚本载入方法实例分析


Posted in Javascript onJuly 02, 2015

本文实例讲述了javascript带回调函数的异步脚本载入方法。分享给大家供大家参考。具体实现方法如下:

var Loader = function () { }
Loader.prototype = {
  require: function (scripts, callback) {
    this.loadCount   = 0;
    this.totalRequired = scripts.length;
    this.callback    = callback;
    for (var i = 0; i < scripts.length; i++) {
      this.writeScript(scripts[i]);
    }
  },
  loaded: function (evt) {
    this.loadCount++;
    if (this.loadCount == this.totalRequired && typeof this.callback == 'function') this.callback.call();
  },
  writeScript: function (src) {
    var self = this;
    var s = document.createElement('script');
    s.type = "text/javascript";
    s.async = true;
    s.src = src;
    s.addEventListener('load', function (e) { self.loaded(e); }, false);
    var head = document.getElementsByTagName('head')[0];
    head.appendChild(s);
  }
}

用法演示

var l = new Loader();
l.require([
  "example-script-1.js",
  "example-script-2.js"],
  function() {
    // Callback
    console.log('All Scripts Loaded');
  });

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
bcastr2.0 通用的图片浏览器
Nov 22 Javascript
select标签模拟/美化方法采用JS外挂式插件
Apr 01 Javascript
jQuery大于号(&gt;)选择器的作用解释
Jan 13 Javascript
在JS方法中返回多个值的方法汇总
May 20 Javascript
JavaScript实现的多种鼠标拖放效果
Nov 03 Javascript
javascript数据结构之双链表插入排序实例详解
Nov 25 Javascript
JavaScript中的this到底是什么(一)
Dec 09 Javascript
layui 优化button按钮和弹出框的方法
Aug 15 Javascript
vue-mugen-scroll组件实现pc端滚动刷新
Aug 16 Javascript
详解Vue后台管理系统开发日常总结(组件PageHeader)
Nov 01 Javascript
vant 中van-list的用法说明
Nov 11 Javascript
js重写alert事件(避免alert弹框标题出现网址)
Dec 04 Javascript
javascript 闭包详解
Jul 02 #Javascript
JavaScript实现点击自动选择TextArea文本的方法
Jul 02 #Javascript
浅谈Javascript线程及定时机制
Jul 02 #Javascript
JavaScript获得url查询参数的方法
Jul 02 #Javascript
js跨域请求的5中解决方式
Jul 02 #Javascript
JS实现从连接中获取youtube的key实例
Jul 02 #Javascript
由ReactJS的Hello world说开来
Jul 02 #Javascript
You might like
PHP4(windows版本)中的COM函数
2006/10/09 PHP
php将数据库中的电话号码读取出来并生成图片
2008/08/31 PHP
PHP date()格式MySQL中插入datetime方法
2019/01/29 PHP
php设计模式之迭代器模式实例分析【星际争霸游戏案例】
2020/04/07 PHP
URL地址中的#符号使用说明
2011/02/12 Javascript
jQuery 淡出一个图像到另一个图像的实现代码
2013/06/12 Javascript
javascript中数组的sort()方法的使用介绍
2013/12/18 Javascript
再谈javascript原型继承
2014/11/10 Javascript
javascript实现youku的视频代码自适应宽度
2015/05/25 Javascript
jquery插件EasyUI中form表单提交实例分享
2016/01/11 Javascript
让DIV的滚动条自动滚动到最底部的3种方法(推荐)
2016/09/24 Javascript
jQuery实现手机上输入后隐藏键盘功能
2017/01/04 Javascript
JavaScript函数节流和函数去抖知识点学习
2018/07/31 Javascript
记录一篇关于redux-saga的基本使用过程
2018/08/18 Javascript
vue使用v-for实现hover点击效果
2018/09/29 Javascript
一文读懂ES7中的javascript修饰器
2019/05/06 Javascript
js实现微信聊天效果
2020/08/09 Javascript
[51:36]Optic vs Newbee 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python天气预报采集器实现代码(网页爬虫)
2012/10/07 Python
Python实现批量把SVG格式转成png、pdf格式的代码分享
2014/08/21 Python
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
2018/05/11 Python
Python使用爬虫抓取美女图片并保存到本地的方法【测试可用】
2018/08/30 Python
python配置grpc环境
2019/01/01 Python
检测python爬虫时是否代理ip伪装成功的方法
2019/07/12 Python
python3.7 sys模块的具体使用
2019/07/22 Python
TensorFlow保存TensorBoard图像操作
2020/06/23 Python
Python TestSuite生成测试报告过程解析
2020/07/23 Python
Pycharm新手使用教程(图文详解)
2020/09/17 Python
html5指南-6.如何创建离线web应用程序实现离线访问
2013/01/07 HTML / CSS
html5 Canvas画图教程(10)—把面拆成线条模拟出圆角矩形
2013/01/09 HTML / CSS
Tommy Hilfiger美国官网:美国高端休闲领导品牌
2019/01/14 全球购物
师说教学反思
2014/02/07 职场文书
演讲稿的格式及范文
2014/08/22 职场文书
法人授权委托书范本
2014/09/17 职场文书
上课迟到检讨书300字
2014/10/15 职场文书
物业保洁员管理制度
2015/08/05 职场文书