<span id="6l005"><sup id="6l005"></sup></span>

      <span id="6l005"></span><ol id="6l005"><tbody id="6l005"><noscript id="6l005"></noscript></tbody></ol>

      1. <acronym id="6l005"><sup id="6l005"></sup></acronym>

        <acronym id="6l005"></acronym>

          1. <ruby id="6l005"></ruby><ruby id="6l005"></ruby>

            1. <ol id="6l005"><output id="6l005"></output></ol>

              <track id="6l005"><em id="6l005"></em></track>

            2. <optgroup id="6l005"></optgroup>

              1. <track id="6l005"><em id="6l005"></em></track>

                <span id="6l005"></span>
              2. <ol id="6l005"><output id="6l005"><nav id="6l005"></nav></output></ol>

                <acronym id="6l005"></acronym>

                  <optgroup id="6l005"></optgroup>

                  <span id="6l005"></span>

                1. <optgroup id="6l005"></optgroup>
                  <optgroup id="6l005"><em id="6l005"></em></optgroup>

                  優化推廣
                  當前位置:首頁 >> 新聞資訊 >> 優化推廣 >> 如何將網頁首屏加載耗時降到最低(網頁加載優化)
                  如何將網頁首屏加載耗時降到最低(網頁加載優化)
                  發布日期:2023-05-09 16:11:45 閱讀次數:673 字體大?。?a href="javascript:;" onClick="ChangeFontSize('content',18)">大

                  百度搜索對用戶行為的研究表明,頁面首屏的加載時間在1秒以內的頁面,會帶給用戶流暢快捷的極速體驗。近期我們發現有部分站點移動端頁面首屏打開速度多于1秒,為了方便開發者對頁面進行優化,技術特地總結了問題的主要原因以及優化方法給大家進行參考。

                  干貨必備丨教你如何提升網站頁面性能

                  慢速主要原因:

                  1、關鍵子資源耗時較嚴重;

                  2、頁面存在額外跳轉;

                  3、主文檔耗時較為嚴重

                  慢速原因一:關鍵子資源耗時較嚴重

                  頁面打開速度優化建議:

                  1、清除不必要的資源,避免進行不必要的下載

                  站點應當定期審核網頁上的資源是否是必需的,并評估該資源的價值與性能影響。網頁中往往會包含一些冗余資源,影響網頁性能的同時還無法給網頁帶來價值,可以考慮清除不必要的資源,避免不必要的資源下載帶來性能上的消耗。

                  清除阻塞渲染的JS和CSS

                  如果要以最快速度完成首屏渲染,需要最大限度地減少網頁上關鍵JS/CSS子資源的數量,并盡可能清除這些資源,最大限度地減少下載量。

                  2、使用代碼拆分減少JS負載

                  有的網站可能將所有的JS組合成一個大型的組合包,以這種方式加載的話頁面性能會受到影響。長時間運行的JS可能會阻塞主線程,這時可以考慮使用requestAnimationFrame() 或 requestIdleCallback() 來進行優化。

                  根據不同的業務需求,開發者可以將JS中首屏的關鍵代碼拆分出來,這樣可以提前加載執行首屏中必需的少量JS代碼,從而縮短頁面的加載時間,其余的可以按需加載或者置后加載,同時建議開發者將JS優先放在首屏渲染完成之后,放在body閉標簽前面。

                  3、優化阻塞渲染的JS

                  JS允許我們修改網頁的同時也會阻止DOM構建,阻塞網頁渲染。默認情況下,JS的執行會阻塞內核渲染:無論我們使用外鏈還是內嵌JS,當遇到文檔中的JS腳本時,它將暫停 DOM 構建,將控制權移交給 JS,腳本執行完畢后再繼續構建 DOM,處理剩余的HTML文檔。如果是外鏈JS文件,瀏覽內核需停下來,等待從磁盤、緩存或遠程服務器中獲取JS腳本,這就可能給關鍵渲染路徑增加數十到數百毫秒的延遲。

                  為了實現最佳性能,可以讓頁面的JS進行異步執行,建議優先考慮使用defer的方式,其次是async方式,并去除關鍵渲染路徑中任何不必要的JS。

                  優化JS的使用方式,優先使用異步JS資源

                  默認情況下,JS資源會阻塞解析,強制等待CSSOM并暫停DOM的構建,繼而大大延遲首屏渲染的時間。異步JS資源則不會阻塞文檔解析器,如果腳本可以使用defer/async 屬性,也就意味著它并非是首屏渲染所必需的,可以考慮在首屏渲染后異步加載腳本。

                  延遲解析加載JS

                  為了最大限度減少內核渲染網頁的工作量,建議開發者延遲所有非必需的、對構建首屏渲染無關緊要的JS腳本,將JS優先放在body閉標簽處。

                  避免長時間運行的JS

                  運行時間長的JS會阻塞構建 DOM、CSSOM以及網頁的渲染,所以任何對首屏渲染無關緊要的初始化邏輯和功能都應延后執行。如果需要運行較長的初始化序列,請考慮將它們拆分為若干個階段,以便瀏覽內核可以間隔處理其它的渲染任務。

                  4、優化阻塞渲染的CSS

                  默認情況下,關鍵CSS子資源是會阻塞內核渲染的,請務必精簡網頁的CSS資源,同時需要將CSS盡快地完成下載,關鍵CSS子資源優先放在head標簽內,以便縮短首屏渲染的時間。

                  優化CSS的使用方式

                  CSS是構建渲染樹的必備元素,首次構建網頁時,確保將任何非必需的CSS資源都標記為非關鍵資源(比如print),并應確保盡可能減少關鍵CSS子資源的數量。

                  將關鍵CSS放在文檔head標簽內

                  盡早在HTML文檔內指定所有必需的關鍵CSS資源,以便瀏覽內核盡早發現link標記并發出CSS請求下載。

                  避免使用CSS import指令

                  一個樣式表可以使用CSS import指令從另一個樣式表文件導入規則。不過應避免使用這些指令,因為它們會在關鍵路徑中增加往返次數從而影響首屏渲染性能。

                  慢速原因二:主文檔耗時

                  頁面打開速度優化建議:

                  優化和壓縮資源,減小總下載文件大小

                  優化和壓縮資源來最大限度地減小總下載大小,來提高網頁加載速度。開發者可以考慮通過簡化編碼來優化主文檔大小,同時可以采用chunk編碼,服務器分chunk輸出,以及通過GZIP來壓縮主文檔資源。

                  慢速原因三:頁面存在額外跳轉

                  頁面打開速度優化建議:

                  去除頁面的額外跳轉

                  從用戶點擊到打開頁面的過程中,有些網站內可能經過額外跳轉才會將最終的頁面展現給用戶。根據調研數據,單次額外跳轉會使性能退化約600毫秒,這就可能給關鍵渲染路徑增加600毫秒的延遲體驗,所以建議開發者去除額外的跳轉。

                  文章標簽:
                  国产日韩欧美中文字幕|亚洲一区无码哀羞在线|91麻豆国产语对白在线观看|久久精品不卡一区二区三区
                      <span id="6l005"><sup id="6l005"></sup></span>

                      <span id="6l005"></span><ol id="6l005"><tbody id="6l005"><noscript id="6l005"></noscript></tbody></ol>

                      1. <acronym id="6l005"><sup id="6l005"></sup></acronym>

                        <acronym id="6l005"></acronym>

                          1. <ruby id="6l005"></ruby><ruby id="6l005"></ruby>

                            1. <ol id="6l005"><output id="6l005"></output></ol>

                              <track id="6l005"><em id="6l005"></em></track>

                            2. <optgroup id="6l005"></optgroup>

                              1. <track id="6l005"><em id="6l005"></em></track>

                                <span id="6l005"></span>
                              2. <ol id="6l005"><output id="6l005"><nav id="6l005"></nav></output></ol>

                                <acronym id="6l005"></acronym>

                                  <optgroup id="6l005"></optgroup>

                                  <span id="6l005"></span>

                                1. <optgroup id="6l005"></optgroup>
                                  <optgroup id="6l005"><em id="6l005"></em></optgroup>