幾年前,有經驗的程序員總是讓我們將
很明顯,現在瀏覽器有了更加酷的兼容方式,這篇文章,俺將跟大家一起來學習script標簽的async和defer新特性,探討script應該放在哪里更好。
頁面加載方式
在我們討論
當瀏覽器加載帶有
獲取html頁面(如index.html)
開始解析HTML
解析器遇到引用外部腳本
瀏覽器請求腳本文件,同時解析器阻塞并停止解析頁面上其他的HTML
一段時間后,腳本被下載并隨后執行
解析器將繼續解析HTML文檔的剩余部分
步驟4會導致不良的用戶體驗,?您的網站基本上會停止加載,沒有任何響應,直到您下載了所有腳本。
如果你的腳本文件很大,那么對用戶體驗的影響可以說是致命的。
為什么會發生這種情況?
任何腳本都可以通過document.write()或其他DOM操作插入自己的HTML。 這意味著解析器必須等到腳本被下載并執行后,才能安全地解析文檔的其余部分。 畢竟,腳本可能已經在文檔中插入了自己的HTML。
但是,大多數
My PageWelcome back, user