国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

詳談LABJS按需動態加載js文件

2024-05-06 16:19:37
字體:
來源:轉載
供稿:網友

為了提高頁面的打開和加載速度,我們經常把JS文件放在頁面的尾部,但是有些JS必須放在頁面前面,這樣就會增加頁面的加載時間;于是出現了按需動態加載的概念,這個概念就是當頁面需要用到這個JS文件或者CSS渲染文件的時候,在去請求這些文件,這樣就節省了頁面的加載時間

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

簡單示例

 

 
  1. $LAB 
  2. .script("script1.js""script2.js""script3.js"
  3. .block(function(){ 
  4. // wait for all to load, then do something 
  5. script1Func(); 
  6. script2Func(); 
  7. script3Func(); 
  8. }); 

介紹下LABJS的幾個實例:

實例1:

 

 
  1. $LAB 
  2. .script("script1.js"
  3. .script("script2.js"
  4. .script("script3.js"
  5. .wait(function(){ // 等待所有script加載完再執行這個代碼塊 
  6. script1Func(); 
  7. script2Func(); 
  8. script3Func(); 
  9. }); 

實例2:

 

 
  1. $LAB  
  2. .script({ src: "script1.js", type: "text/javascript" }) 
  3. .script("script2.js"
  4. .script("script3.js"
  5. .wait(function(){ // 等待所有script加載完再執行這個代碼塊 
  6. script1Func(); 
  7. script2Func(); 
  8. script3Func(); 
  9. }); 

實例3:

 

 
  1. $LAB 
  2. .script("script1.js""script2.js""script3.js"
  3. .wait(function(){ // 等待所有script加載完再執行這個代碼塊 
  4. script1Func(); 
  5. script2Func(); 
  6. script3Func(); 
  7. }); 

實例4:

 

 
  1. $LAB 
  2. .script( [ "script1.js""script2.js" ], "script3.js"
  3. .wait(function(){ // 等待所有script加載完再執行這個代碼塊 
  4. script1Func(); 
  5. script2Func(); 
  6. script3Func(); 
  7. }); 

實例5:

 

 
  1. $LAB 
  2. .script("script1.js").wait() // 空的wait()只是確保script1在其他代碼之前被執行 
  3. .script("script2.js"// script2 和 script3 依賴于 script1 
  4. .script("script3.js").wait() // 但是script2 和 script3 并不互相依賴,可以并行下載 
  5. .script("script4.js"// script4 依賴于 script1, script2 及 script3 
  6. .wait(function(){script4Func();}); 

實例6:

 

 
  1. $LAB 
  2. .script("script1.js"// script1, script2, and script3 之間沒有依賴關系, 
  3. .script("script2.js"// 所以可以任意順序執行 
  4. .script("script3.js"
  5. .wait(function(){ // 如果需要,這里當然可以執行javascript函數 
  6. alert("Scripts 1-3 are loaded!"); 
  7. }) 
  8. .script("script4.js"// 依賴于 script1, script2 及 script3 
  9. .wait(function(){script4Func();}); 

實例7:

 

 
  1. $LAB 
  2. .setOptions({AlwaysPreserveOrder:true}) // 設置每個腳本之間等待 
  3. .script("script1.js"// script1, script2, script3, script4 互相依賴 
  4. .script("script2.js"// 并且并行下載后循序執行 
  5. .script("script3.js"
  6. .script("script4.js"
  7. .wait(function(){script4Func();}); 

實例8:

 

 
  1. $LAB 
  2. .script(function(){ 
  3. // `_is_IE`的值ie為true ,非ie為false 
  4. if (_is_IE) { 
  5. return "ie.js"// 如果是ie則這個js會被加載 
  6. else { 
  7. return null//如果不是ie這個代碼就會被略過 
  8. }) 
  9. .script("script1.js"
  10. .wait(); 

LABjs加載方式

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 海南省| 石狮市| 绥阳县| 永吉县| 青阳县| 东安县| 河源市| 湖南省| 休宁县| 西乌| 黎平县| 辽阳县| 平远县| 永年县| 纳雍县| 新乡县| 巴马| 建湖县| 宁阳县| 扶绥县| 湖南省| 富宁县| 阿合奇县| 景谷| 丹凤县| 靖边县| 自贡市| 定安县| 灵丘县| 白河县| 全椒县| 大姚县| 武邑县| 磴口县| 巴南区| 泸溪县| 南漳县| 项城市| 黎城县| 镇安县| 高安市|