JS 非同步載入

2021-09-29 06:27:09 字數 494 閱讀 7581

參考學習:

有關promise的學習:

如果 async=「async」:指令碼相對於頁面的其餘部分非同步地執行(當頁面繼續進行解析時,指令碼將被執行)

如果不使用 async 且defer=「defer」:指令碼將在頁面完成解析時執行

如果既不使用 async 也不使用 defer:在瀏覽器繼續解析頁面之前,立即讀取並執行指令碼

對於支援html5的瀏覽器,實現js的非同步載入只需要在script元素中加上async屬性,為了相容老版本的ie還需加上defer屬性;

對於不支援html5的瀏覽器(ie可以用defer實現),可以採用以上幾種方法實現。原理基本上都是向dom中寫入script或者通過eval函式執行js**,你可以把它放在匿名函式中執行,也可以在onload中執行,也可以通過xhr注入實現,也可以建立乙個iframe元素,然後在iframe中執行插入js**。

js的非同步載入

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

JS的非同步載入

自覺自己基礎不紮實,不應該心猿意馬,所以很久沒有更新效能優化專欄,回顧總結了一段時間後再來一發吧 在學習前端開發的最開始,就可能有人告訴你,在 body 的末尾再引入 script 標籤 收到依賴的jquery更適合放在前面 書寫js 就提高效率,這到底是為什麼呢?先看乙個不好的例子 class p...

非同步載入JS之async defer

繼前面了解的js載入時間線,然後對js的非同步載入的方式進行了更深一步的了解 預設情況下,js檔案是同步載入的,當頁面載入到js檔案時,頁面就會被阻斷在這個地方,阻斷了html css的載入線 為什麼不非同步載入js呢?因為,js會修改html css 又因為js是同步載入的,所以對於不會修改頁面的...