摘要:設置了的外鏈文件,在下載文件期間不會阻塞的解析,但是下載完畢之后就會立即執行,無論現在是否正在解析。怎么優化因為的解析會阻塞頁面的渲染,為了讓頁面盡早的呈現處理,那么就要避免一些無用的文件。
總結一下這幾個經典問題。
JavaScript為什么要放在HTML文檔的底部?首先說結論:
不論是內聯還是外鏈js都會阻塞后續dom的解析和渲染
如果把JavaScript放在頁面頂部,下載和解析JavaScript的時間里面,dom遲遲得不到解析和渲染,瀏覽器一直處于白屏,所以把JavaScript文件放在頁面底部更有利于頁面快速呈現。
首先,async和defer對于內聯JavaScript都是無效的
defer設置了defer的script外鏈文件,在下載js文件期間不會阻塞HTML的解析,而且等js下載完畢時若HTML還沒解析完畢,js會等到HTML文檔解析完畢后再執行。如果有多個js下載文件,那么執行時也是按照順序執行。
async設置了async的script外鏈文件,在下載js文件期間不會阻塞HTML的解析,但是js下載完畢之后就會立即執行,無論現在HTML是否正在解析。
從圖可以更直觀的看出區別(圖片來自https://harttle.land/2016/05/...):
首先說結論:
對于一個HTML文檔來說,不管是內聯還是外鏈的css,都會阻礙后續的dom渲染,但是不會阻礙后續dom的解析。
如果把css文件引用放在HTML文檔的底部,瀏覽器為了防止無樣式內容閃爍,會在css文件下載并解析完畢之前什么都不顯示,這也就會造成白屏現象。(但是在firefox瀏覽器中測試,會出現樣式閃爍,這也算是不同瀏覽器的權衡吧,要么等css全解析完一起顯示,要么先顯示然后css解析完再重新畫上新樣式)
當css文件放在
因為Css的解析會阻塞頁面的渲染,為了讓頁面盡早的呈現處理,那么就要避免一些無用的css文件。
使用媒體查詢可以讓css文件只在必要的時候解析,進而避免不必需的渲染阻塞,加快頁面呈現時間。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/96997.html
摘要:設置了的外鏈文件,在下載文件期間不會阻塞的解析,但是下載完畢之后就會立即執行,無論現在是否正在解析。怎么優化因為的解析會阻塞頁面的渲染,為了讓頁面盡早的呈現處理,那么就要避免一些無用的文件。 總結一下這幾個經典問題。 JavaScript為什么要放在HTML文檔的底部? 首先說結論:不論是內聯還是外鏈js都會阻塞后續dom的解析和渲染如果把JavaScript放在頁面頂部,下載和解析J...
摘要:刨根問底,這里說的成本,到底高在哪兒呢什么是文檔對象模型什么是可能很多人第一反應就是等標簽至少我是,但要知道,是,是,對象模型,是為提供的。操作具體的成本,說到底是造成瀏覽器回流和重繪,從而消耗資源。 從我接觸前端到現在,一直聽到的一句話:操作DOM的成本很高,不要輕易去操作DOM。尤其是React、vue等MV*框架的出現,數據驅動視圖的模式越發深入人心,jQuery時代提供的強大便...
摘要:刨根問底,這里說的成本,到底高在哪兒呢什么是文檔對象模型什么是可能很多人第一反應就是等標簽至少我是,但要知道,是,是,對象模型,是為提供的。操作具體的成本,說到底是造成瀏覽器回流和重繪,從而消耗資源。 從我接觸前端到現在,一直聽到的一句話:操作DOM的成本很高,不要輕易去操作DOM。尤其是React、vue等MV*框架的出現,數據驅動視圖的模式越發深入人心,jQuery時代提供的強大便...
摘要:年,和前端開發者與應用程序前端開發者之間產生了巨大的分歧。開發最常見的解決方案有手機和平板的原生應用程序桌面應用程序桌面應用程序原生技術最后,前端開發者可以從瀏覽器開發中學習到,編寫代碼不需要考慮瀏覽器引擎的限制。 前端開發者手冊2019 Cody Lindley 編著 原文地址 本手冊由Frontend Masters贊助,通過深入現代化的前端工程課程來提高你的技能。 下載:PDF ...
摘要:年,和前端開發者與應用程序前端開發者之間產生了巨大的分歧。開發最常見的解決方案有手機和平板的原生應用程序桌面應用程序桌面應用程序原生技術最后,前端開發者可以從瀏覽器開發中學習到,編寫代碼不需要考慮瀏覽器引擎的限制。 前端開發者手冊2019 Cody Lindley 編著 原文地址 本手冊由Frontend Masters贊助,通過深入現代化的前端工程課程來提高你的技能。 下載:PDF ...
閱讀 1670·2021-10-13 09:39
閱讀 2099·2021-09-07 10:20
閱讀 2678·2019-08-30 15:56
閱讀 2945·2019-08-30 15:56
閱讀 932·2019-08-30 15:55
閱讀 625·2019-08-30 15:46
閱讀 3494·2019-08-30 15:44
閱讀 2552·2019-08-30 11:15