力求改變,給自己多一點,再多一點的挑戰!
阿新 • • 發佈:2019-02-19
前一段時間看一本《高效能網站建設進階指南》這本書,提到頁面中的js並不是同步載入的,這就會導致如果幾個js檔案是互為牽制的話,可能會造成有未讀取到的js沒有及時生成元素而報錯的問題,而今天也是在網上看到了一篇叫做js同步載入最佳實踐的文章,提出了一個能把多個js檔案實現同步載入的最佳的辦法。
1.方法思路:
a.在頁面底部新增一個叫做first的js檔案,這個檔案裡有一個loadScript的方法,這個方法有兩個引數一個是url,另一個是返回函式,而這個loadjs的方法則是通過XMLHttpRequest物件readyState的五個狀態來為頁面新增含有src屬性的script程式碼。
b.在頁面中呼叫這個first.js檔案,並在頁面底部呼叫這個方法,需要新增幾個js就呼叫幾次。
2.方法程式碼:
a.編寫first.js的loadScript的方法
b.在頁面內呼叫這個指令碼檔案,並執行loadScript的方法
3.直接把js寫在head之間和同步載入的效果對比
同步載入js效果:
直接把js寫在head之間效果:
注:
1.關於這篇載入 Javascript 最佳實踐請參考這個地址《
2.loadScript用到的XMLHttpRequest的一些readyStae狀態的知識,請參考為之漫筆(李鬆峰)先生blog的一篇文章,有詳細的講解