一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

腳本安需導入(裝載)的三種模式的對比

何謂安需裝載?
    腳本程序一般都是下載后執行,當腳本庫非常龐大時,一次性下載起來非常費時,傳統的解決方式是,按功能模塊把腳本寫在不同的文件中,頁面上手動加入 script標簽裝載指定內容,但是這有一些缺點,類庫的使用者需要知道沒個腳本之間的關系,順序要求等等,而不可能要求每個類庫使用者都對其非常熟悉,出錯的可能性很大。于是很多框架開始支持導入指令,想使用什么一個導入函數就完了,不必一堆堆的script文件,不用小心翼翼的關注著他們的依賴關系。

安需裝載的困境:
      早期安需裝載(即時同步按需裝載)有一個致命的弱點,瀏覽器阻塞問題。當按需裝載某些類庫時,通常通過XMLHttpRequest同步裝載腳本文件實現,這種情況下,在資源下載完成之前,瀏覽器將停止響應用戶事件、停止頁面重畫操作。如果網速很慢,這段時間將非常讓人討厭,就像是死機似的。

      以前的解決辦法是,將常用類庫資源直接打包到框架文件中,而按需導入就成了一個宣傳的幌子,沒有太多實際的價值。

安需裝載可分如下三種模式:


l 即時同步按需裝載 (阻塞,JSI、JSVM、dojo)。

最簡單的按需裝載實現,通過XMLHttpRequest同步裝載腳本文件實現。問題是,瀏覽器使用這種方式同步獲取資源時將導致瀏覽器阻塞:停止響應用戶事件、停止頁面重畫操作。所以,雖然編程最為簡單,但是用戶體驗最差。

 

2 異步按需裝載(無阻塞,JSI2.0+)。

異步導入,不必多做解釋,用戶體驗好,但是因為其異步特征,處理起來比較麻煩。

 

3 延遲同步按需裝載(無阻塞,JSI2.0+)。

JSI通過動態預裝載功能實現的一種同步獲取資源的方法,雖然也是同步,但沒有阻塞,可以算時兼顧易用性和用戶體驗的解決方按。缺點時有一定延遲,當前腳本標簽中不可用。

       

 

使用方法(JSI示例)
    以一個代碼語法著色程序為例:

類庫位置:org/xidea/example/code/code.js

頁面位置:example/xxx.html

 

即時同步按需裝載

import("org.xidea.example.code.Code"); 

var code1 = new Code(); 

code1.id = "libCode"; 

code1.decorate();

 


異步按需裝載

$import("org.xidea.example.code.Code",function(Code){        

var code1 = new Code();        

code1.id = "libCode";        

code1.decorate();  

})    




延遲同步按需裝載(無阻塞,JSI2.0+)。

<script>"../scripts/boot.js"></script>    

<script>    

$import("org.xidea.example.code.Code",true);    

</script>    

    

<script>    

var code1 = new Code();    

code1.id = "pageCode";    

code1.decorate();    

</script>    




測試示例: 
地址:

http://jsintegration.sourceforge.NET/example/code.html

http://www.xidea.org/project/jsi/example/code.html 

    示例都是jsi的默認示例,可以下載到本地運行,下載后最好能放到一個能受到網速限制的服務器上,只有這樣才能看到阻塞的問題。

參考:
JSI 導入函數: function $import(path, callbackOrLazyLoad, target ) 

 

JSI2 預覽版下載:http://groups.google.com/group/jsier/files

JavaScript技術腳本安需導入(裝載)的三種模式的對比,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 999国产视频 | 国产精品久久久久毛片真精品 | 伊人久久大香线蕉综合高清 | 最新毛片久热97免费精品视频 | 欧美成人午夜视频免看 | 久久噜国产精品拍拍拍拍 | 成人怡红院视频在线观看 | 国产乱子伦一区二区三区 | 日韩欧美一区黑人vs日本人 | 国内精品免费一区二区观看 | 久久线看观看精品香蕉国产 | 欧美特黄一片aa大片免费看 | 中文字幕一区在线观看 | 九色视频在线看 | 伊人久久精品 | 99久女女精品视频在线观看 | 国产区精品视频 | 在线看污视频 | 国内视频一区 | 亚洲图片 中文字幕 | 久久国产精品偷 | 天天干天天操天天舔 | 国产精品无内丝袜高跟鞋 | 热re66久久精品国产99re | 97麻豆精品国产自产在线观看 | 狠狠色噜噜狠狠狠97影音先锋 | 黄网站在线免费 | 狠狠五月深爱婷婷网免费 | 精品一区二区三区在线观看 | 国产亚洲视频在线播放大全 | 国产成人精品在视频 | 精品国产一区二区三区19 | 九九精品视频在线 | 精品久久久久久中文 | 日韩亚洲综合精品国产 | 国产成在线观看免费视频 | 国产精品一区视频 | 久久综合丝袜长腿丝袜 | 精品视频 九九九 | 成年人免费小视频 | www.草草草 |