转自:http://www.oschina.net/code/snippet_54100_2930
1. [代码]用法
1 | //你的 your-script.js 将在前两个js加载完再加载 |
2 | scriptLoader.load([ |
3 | 'http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js' , |
4 | 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js' |
5 | 'your-script.js' |
6 | ]); |
2. [代码]scriptLoader.js 跳至 [1] [2] [全屏预览]
01 | /** |
02 | * |
03 | * Chainable external javascript file loading |
04 | * http://www.webtoolkit.info/ |
05 | * |
06 | **/ |
07 | var scriptLoader = { |
08 | _loadScript: function (url, callback) { |
09 | var head = document.getElementsByTagName( 'head' )[0]; |
10 | var script = document.createElement( 'script' ); |
11 | script.type = 'text/javascript' ; |
12 | script.src = url; |
13 | if (callback) { |
14 | script.onreadystatechange = function () { |
15 | if ( this .readyState == 'loaded' ) callback(); |
16 | } |
17 | script.onload = callback; |
18 | } |
19 | head.appendChild(script); |
20 | }, |
21 | |
22 | load: function (items, iteration) { |
23 | if (!iteration) iteration = 0; |
24 | if (items[iteration]) { |
25 | scriptLoader._loadScript( |
26 | items[iteration], |
27 | function () { |
28 | scriptLoader.load(items, iteration+1); |
29 | } |
30 | ) |
31 | } |
32 | } |
33 | } |