耦合非同步指令碼

2022-07-17 10:18:07 字數 897 閱讀 3239

下面有幾種方式耦合非同步指令碼.

在這個部落格帖子裡我討論兩個問題: 如何使用非同步指令碼加快頁面,如何通過degrading script tags模式耦合外部指令碼和內嵌指令碼. 我通過我最近剛剛完成的乙個專案ua profiler results sortable圖表來演示. 我還使用了stuart langridge的 sorttable排序指令碼. 把他的指令碼增加到我的頁面並排序結果耗費了我大約5分鐘.通過增加一點使用非同步指令碼和耦合指令碼的工作量我可以使這個頁面提高30%的載入速度

最初我使用普通的方法(

當使用非同步載入外部指令碼時這也是乙個很棒的模式。為了使用這個技術,我必須修改我的內嵌**和外部指令碼. 對於內嵌**, 我增加了第3行來設定script.text的屬性. 為了耦合**, 我在sorttable-async.js末尾增加了如下**:

var scripts = document.getelementsbytagname("script");

var cntr = scripts.length;

while ( cntr )

cntr--;

}

通過延遲載入能更快的載入頁面 (通過onload事件動態載入). 例如 lazyload 是在onload 事件中包含如下**:

圖3: 延遲載入的http瀑布圖

通過避免通常的阻塞行為,非同步載入指令碼和延遲載入指令碼可以提高網頁的載入時間. 下面是增加不同版本的sorttable排序例子**:

以上時間指的是onload事件發生的時間。

非同步載入指令碼

defer屬性和async屬性提供了非同步載入指令碼的方法。使用如下 defer在domcontentloaded事件發生前執行,async指令碼可能在domcontentloaded事件前執行,也有可能在之後執行,但是肯定在loaded事件前執行。注意 由於不同的瀏覽器實現,defer事件也不一定...

耦合,緊耦合,松耦合,解耦

一 耦合 耦合是兩個或多個模組之間的相互關聯。在軟體工程中,兩個模組之間的耦合度越高,維護成本越高。因此,在系統架構的設計過程中,應減少各個模組之間的耦合度,以提高應用的可維護性。二 緊耦合 緊耦合架構本質是client server的模型,如下圖所示 優點是 架構簡單 設計簡單 開發周期短 能夠快...

耦合還是解耦合?

我們的許多設計思想中很多地方都體現了解耦合的思想,這是 b 應對易於變化 b 的一種很好的解決手段,而在這些手段中最重要的解決方法就是 b 新增中間層 b 所謂新增中間層 比如我們常見的面向介面程式設計,其實就是新增了乙個中間的層次,遮蔽掉了一些變化,還有就是我們常用的設計模式,什麼 啊,faced...