<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                #### 避免頁面卡頓 JS修改樣式 --> style計算 --> 被影響的元素重新布局 --> 布局好的效果放到一個畫布上 --> paint成像素 --> 畫布刷新到頁面上 js --> style --> layout --> paint --> composite #### 拆分代碼段 ``` var tasks = []; //存儲任務 function draw() { window.requestAnimationFrame(function() { if(tasks.length) { var task = tasks.shift(); task(); window.requestAnimationFrame(() => draw()) } }) } ``` 在web動畫、app動畫中,我們經常通過setInterval或setTimeout定時修改DOM、CSS實現動畫,不過如此動畫的方式極為耗費資源,經常是這樣的結果,剛開始比較流暢,5分鐘之后動畫就卡住了。 requestAnimationFrame的方式的優勢如下: 1.經過瀏覽器優化,動畫更流暢 2.窗口沒激活時,動畫將停止,省計算資源 3.更省電,尤其是對移動終端 #### 其他優化方法 * 減少頁面重繪,能用trnasform就別使用position/width/height做動畫 * 簡化DOM結構 #### 加快頁面打開速度 所有放在head中的js和css都會阻塞渲染。 有兩種解決方法: * 把script標簽放在body最下面 * 給script標簽加上defer屬性,其將會異步加載 具體優先級為: * document.readyState為loading * 如果head中有非defer和async的script,老老實實等它加載完吧 * body中的外部引入script最先加載 * body中的內聯script其次 * 此時document.readyState變為interactive * 開始加載那些延遲的script * 延遲script加載完成后,document.readyState變為complete * window.onload開始執行 document.readyState: * loading: document正在加載 * interactive: 文檔已加載完成,且已被解析,但仍有資源還未加載完成 * complete: 所有一切都準備就緒,開始觸發onload吧 document.readyState一旦發生變化,就會觸發document.readyStateChange方法。 head標簽里面的defer腳本和body里面的腳本有啥不一樣嗎?寫在head里的腳本會阻塞渲染,加上defer后它的加載優先級是最低最低的。 #### 減少css代碼量 * 不要放太多和太大的base64 * 如果css比較小,用內聯吧,不要外引 #### 優化圖片 * 使用響應式圖片 * 延遲加載圖片(懶加載) #### 其他優化方案 * DNS預讀取:`<link rel="dns-prefecth" href="https://www.google.com"/>` * HTML去掉注釋并壓縮
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看