頁面優化 js非同步載入

2021-09-07 17:42:59 字數 738 閱讀 1580

在介紹js非同步載入之前。我們先來看看什麼是js同步載入。我們平時最常使用的就是這樣的同步載入形式:

曾經的一般建議是把放在頁面末尾之前,這樣盡可能降低這樣的堵塞行為。而先讓頁面展示出來。

它同意無堵塞資源載入。而且使 onload 啟動更快,同意頁面內容載入。而不須要重新整理頁面,也能夠依據頁面內容延遲載入依賴。

常見非同步載入舉例:

(script dom element)

(function() )();

這樣的方法是在頁面中標籤內,用 js 建立乙個 script 元素並插入到 document 中。

前面攻克了非同步載入(async loading)問題,再談談什麼是延遲載入。

延遲載入:有些 js **並非頁面初始化的時候就立馬須要的,而稍後的某些情況才須要的。延遲載入就是一開始並不載入這些臨時不用的js,而是在須要的時候或稍後再通過js 的控制來非同步載入。

也就是將 js 切分成很多模組,頁面初始化時僅僅載入須要馬上執行的 js ,然後其他 js 的載入延遲到第一次須要用到的時候再載入。

特別是頁面有大量不同的模組組成,非常多可能臨時不用或根本就沒用到。

就像的延遲載入,在出如今可視區域內時(在滾動欄下拉)才載入顯示。

非同步載入。須要將全部 js 內容按模組化的方式來切分組織,當中就存在依賴關係,而非同步載入不保證執行順序。​js模組化攻克了這個問題,請移步 

了解模組化開發

JS 非同步載入

參考學習 有關promise的學習 如果 async async 指令碼相對於頁面的其餘部分非同步地執行 當頁面繼續進行解析時,指令碼將被執行 如果不使用 async 且defer defer 指令碼將在頁面完成解析時執行 如果既不使用 async 也不使用 defer 在瀏覽器繼續解析頁面之前,立...

頁面渲染 非同步載入JS 時間線

目錄 一 頁面渲染 二 非同步載入js 三 時間線 瀏覽器載入頁面時優先識別html 生成dom節點樹 domtree dom節點樹生成完畢後,再生成與dom樹類似的css樹 csstree css樹上的節點與dom節點對應。dom樹和css樹都遵循深度優先原則。生成dom節點樹的過程叫頁面解析。頁...

js的非同步載入

今天被問到了如何非同步載入js,聽到這句話我內心是拒絕的,啥玩意兒?js也要用非同步載入不是引入了就行了,也沒見速度變慢啊。後來仔細查詢了一下,才發現自己原來還是太年輕了。因為之前自己寫的載入的都是本地js,或者是並沒有複雜邏輯運算的js,導致看不出來太大問題,查完資料後,要將不會的記在這裡,當作學...