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

2015-07-033lian8 的分享   加三联MM小编微信好友:sanlian2018

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

  ?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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);
}
}

  用法演示

  ?

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

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

TA发布的帖子

881

收藏

605