首頁 > web前端 > js教程 > 詳談LABJS按需動態載入js檔案_javascript技巧

詳談LABJS按需動態載入js檔案_javascript技巧

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-05-16 16:00:27
原創
1860 人瀏覽過

LABjs 是一個很小的JavaScript 工具,用來根據需要載入JavaScript 文件,透過使用該工具可以提升頁面的效能,避免載入不需使用的JavaScript 文件,可以實現動態並行載入腳本文件,以及管理載入腳本檔案的執行順序。

簡單範例

1

2

3

4

5

6

7

8

$LAB

.script("script1.js", "script2.js", "script3.js")

.block(function(){

  // wait for all to load, then do something

  script1Func();

  script2Func();

  script3Func();

});

登入後複製

介紹下LABJS的幾個例子:
實例1:

1

2

3

4

5

6

7

8

9

$LAB

  .script("script1.js")

  .script("script2.js")

  .script("script3.js")

  .wait(function(){ // 等待所有script加载完再执行这个代码块

    script1Func();

    script2Func();

    script3Func();

  });

登入後複製

實例2:

1

2

3

4

5

6

7

8

9

$LAB

  .script({ src: "script1.js", type: "text/javascript" })

  .script("script2.js")

  .script("script3.js")

  .wait(function(){ // 等待所有script加载完再执行这个代码块

    script1Func();

    script2Func();

    script3Func();

  });

登入後複製

實例3:

1

2

3

4

5

6

7

$LAB

  .script("script1.js", "script2.js", "script3.js")

  .wait(function(){ // 等待所有script加载完再执行这个代码块

    script1Func();

    script2Func();

    script3Func();

  });

登入後複製

實例4:

1

2

3

4

5

6

7

$LAB

  .script( [ "script1.js", "script2.js" ], "script3.js")

  .wait(function(){ // 等待所有script加载完再执行这个代码块

    script1Func();

    script2Func();

    script3Func();

  });

登入後複製

實例5:

1

2

3

4

5

6

$LAB

  .script("script1.js").wait() // 空的wait()只是确保script1在其他代码之前被执行

  .script("script2.js") // script2 和 script3 依赖于 script1

  .script("script3.js").wait() // 但是script2 和 script3 并不互相依赖,可以并行下载

  .script("script4.js") // script4 依赖于 script1, script2 及 script3

  .wait(function(){script4Func();});

登入後複製

實例6:

1

2

3

4

5

6

7

8

9

$LAB

  .script("script1.js") // script1, script2, and script3 之间没有依赖关系,

  .script("script2.js") // 所以可以任意顺序执行

  .script("script3.js")

  .wait(function(){ // 如果需要,这里当然可以执行javascript函数

    alert("Scripts 1-3 are loaded!");

  })

  .script("script4.js") // 依赖于 script1, script2 及 script3

  .wait(function(){script4Func();});

登入後複製

實例7:

1

2

3

4

5

6

7

$LAB

  .setOptions({AlwaysPreserveOrder:true}) // 设置每个脚本之间等待

  .script("script1.js") // script1, script2, script3, script4 互相依赖

  .script("script2.js") // 并且并行下载后循序执行

  .script("script3.js")

  .script("script4.js")

  .wait(function(){script4Func();});

登入後複製

實例8:

1

2

3

4

5

6

7

8

9

10

11

12

$LAB

  .script(function(){

    // `_is_IE`的值ie为true ,非ie为false

    if (_is_IE) {

      return "ie.js"; // 如果是ie则这个js会被加载

    }

    else {

      return null; //如果不是ie这个代码就会被略过

    }

  })

  .script("script1.js")

  .wait();

登入後複製

LABjs載入方式

LABjs裡的動態載入腳本文件,是指頁面的js腳本執行時,透過多種方法去載入外部的js(主要區別於html頁面裡,透過

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板