二維碼
        企資網(wǎng)

        掃一掃關注

        當前位置: 首頁 » 企資快報 » 服務 » 正文

        前端性能優(yōu)化(四)——網(wǎng)頁加載更快的N種方式

        放大字體  縮小字體 發(fā)布日期:2021-08-21 18:08:22    作者:媒體小英    瀏覽次數(shù):73
        導讀

        網(wǎng)站前端的用戶體驗,決定了用戶是否想要繼續(xù)使用網(wǎng)站以及網(wǎng)站的其他功能,網(wǎng)站的用戶體驗佳,可留住更多的用戶。除此之外,前端優(yōu)化得好,還可以為企業(yè)節(jié)約成本。那么我們應該如何對我們前端的頁面進行性能優(yōu)化呢?

        網(wǎng)站前端的用戶體驗,決定了用戶是否想要繼續(xù)使用網(wǎng)站以及網(wǎng)站的其他功能,網(wǎng)站的用戶體驗佳,可留住更多的用戶。除此之外,前端優(yōu)化得好,還可以為企業(yè)節(jié)約成本。那么我們應該如何對我們前端的頁面進行性能優(yōu)化呢?

        前端性能優(yōu)化可以分為三個方面:接口訪問優(yōu)化、靜態(tài)資源優(yōu)化和頁面渲染速度優(yōu)化。

        一、接口訪問優(yōu)化

        1.1、減少http請求,合理設置 HTTP緩存

        http協(xié)議是無狀態(tài)的應用層協(xié)議,每次發(fā)送http請求時,都需要建立連接、通信、斷開連接,在服務器端每個http都需要開啟獨立的線程去處理。所以盡量減少http請求,盡可能地提高訪問性能。

        減少http請求的方法:

          合并 js、css、圖片等文件,合并成一個文件,瀏覽器就只需請求一次就可以了。圖片合并要適當,不能想著優(yōu)化呢,盲目地都合并成一張圖片。借用瀏覽器緩存。恰當?shù)木彺嬖O置可以大大減少http請求。不懂瀏覽器緩存的可參考《瀏覽器九大緩存方法》。接口合并。前端交互,經(jīng)常需要請求多個并行或串行接口,此時可以通過接口合并方式,提高接口訪問速度。能使用css的盡量不使用js,能使用js的盡量不用三方插件,避免三方插件大量的庫。

        1.2、減少cookie傳輸

        cookie 存在于 http 頭,在客戶端與服務器之間交換,盡可能地控制 cookie 的大小,cookie越小,響應速度越快,減少 cookie 傳輸,響應速度更快。

        1.3、使用CDN提供靜態(tài)文件

        使用 CDN 可以更快地在全球范圍內獲取到你的靜態(tài)文件,加快網(wǎng)頁加載。

        1.4、啟用 GZIP 壓縮

        http 協(xié)議上 GZIP 編碼,是一種用來改進 web 應用程序的。開啟 GZIP 后,服務器會把網(wǎng)頁內容壓縮后傳輸,一般能壓縮到原大小40%,這樣網(wǎng)頁傳輸速度就更快了。GZIP 有兩大好處:一是減少存儲空間,二是通過網(wǎng)絡傳輸文件時,可以減少傳輸時間。

        1.5、分域存放資源

        HTTP 客戶端一般對同一個服務器的并發(fā)連接個數(shù)都是有限制的,通常最大并行連接為四了,剩下的會進入等待隊列,等前邊的執(zhí)行完畢,等待的才會執(zhí)行。所以利用多域名主機存放資源,增加并行連接量,縮短資源加載時間。

        1.6、減少頁面重定向

        開啟 https 可以有效防范攻擊,保證用戶始終訪問到網(wǎng)站的加密連接,保護數(shù)據(jù)安全,同時省去 301/302 跳轉的時間,大大提升網(wǎng)站的安全系數(shù)和用戶體驗。

        如果在網(wǎng)站設置當用戶訪問域名的時候強制 https 進行 301 或者 302 跳轉,但是這個過程中,用到 HTTP 因此容易發(fā)生劫持,受到第三方的攻擊。所以盡可能使用https安全。

        1.7、避免使用iframe

        iframe 相當于本頁面又嵌套了一個頁面,消耗性能,還要加載嵌套頁面的資源,所以更消耗時間。

        1.8、借用瀏覽器緩存

        ajax 請求到的數(shù)據(jù),可以緩存到瀏覽器,下次使用的時候無需再次獲取,直接取緩存數(shù)據(jù)就可以。這個會根據(jù)具體的項目來做,比如常用的角色類型就會緩存,獲取到的普通數(shù)據(jù)為了保證實時性,不能使用緩存。

        二、靜態(tài)資源優(yōu)化

        2.1、壓縮 html、css、js 等文件

        刪除不必要的空格、注釋和中行,減少文件大小,顯著減少用戶下載時間,加快網(wǎng)頁加載速度。可以直接使用壓縮工具,可以自動刪除所有不必要內容。

        2.2、在 js 之前引用 css

        這是一個小細節(jié),js 執(zhí)行的時候會進入阻塞,如果放入 js 之后加載,會等待 js 執(zhí)行完成之后才能加載 css,渲染頁面,此時就會出現(xiàn)布局錯亂。所以 css 文件需要非阻塞引入,以防DOM 花費更多時間才能渲染。

        2.3、非阻塞 js

        js 會阻止 html 文檔的正常解析,當解析器到達 script 標記時,她會停止解析并執(zhí)行腳本。所以我們經(jīng)常把 script 引入的 js,放到 html 中最底下。如果需要讓腳本位于頁面頂部,建議添加非阻塞屬性。經(jīng)常使用 defer 和 async 來異步加載js文件。

        <!--  使用defer  --><script defer src=http://m.hbruiju.com/skin/m04blueskin/image/nopic.gif ></script><!--   使用async  --><script async src=http://m.hbruiju.com/skin/m04blueskin/image/nopic.gif></script>

        2.4、圖片壓縮

        最常見的就是 css 雪碧,就是將很多很多的小圖標放在一張圖片上,就稱為雪碧圖。雪碧圖最大優(yōu)點就是可以減少http請求,除此也能壓縮圖片文件大小。使用的時候,通過設置 background-position ,移動圖片的位置。除此之外,網(wǎng)站用到的大圖,也需要在保證圖片質量前提下優(yōu)化到最小。

        2.5、矢量圖替代位圖

        矢量圖(SVG)往往比圖像小很多,縮放的時候不失真,這些圖像還可以通過 css 進行動畫和修改,比位圖方便控制。可以的話,盡量用矢量圖多點。

        2.6、js代碼相關優(yōu)化

          盡量減少使用閉包,因為閉包所在的上下文不會被釋放。js避免嵌套循環(huán)和死循環(huán),一旦遇到死循環(huán),瀏覽器會卡死。在js封裝過程中,盡量做到低耦合高內聚。減少頁面的冗余代碼。盡量減少遞歸,避免死遞歸。盡量使用window.requestAnimationframe替代傳統(tǒng)的定時器。

        三、頁面渲染速度

        3.1、懶加載

        素材類的網(wǎng)站,頁面一屏展示很多圖片,而且圖片還不能失真,圖片加載太多,網(wǎng)頁加載慢得很,所以就引用懶加載,只加載可視區(qū)的圖片,避免加載可以能不需要或不必要的圖像。改善頁面的響應時間。

        3.2、避免響應式布局

        響應式網(wǎng)站雖然能夠兼容所有終端設備,但是會出現(xiàn)隱藏部分無用內容,浪費帶寬,加載時間還長,頁面的渲染時間也長。想更多了解響應式布局,請點擊《前端響應式布局為什么是個坑?》。

        3.3、設置大小,避免重繪

        遇到 img 標簽,會立馬發(fā)送一個 http 請求,下載圖片,頁面繼續(xù)向下渲染,等圖片加載成功了,發(fā)現(xiàn)圖片的寬高大小發(fā)生變化,影響后邊排版,所以頁面會重新再繪制一次這部分。所以盡可能設置圖片的大小。

        3.4、減少DOM元素

        解析 html 內容,將標簽轉化為DOM節(jié)點,之后再解析其他文件,DOM元素越少,也就是標簽越少,文件轉化得越快,加載速度也就快了。

        3.5、減少 Flash 的使用

        flash 文件比較大,加載起來耗時。除此,flash 插件還需要運行才能運行,最主要有些瀏覽器flash插件馬上要下線了,建議盡量不用 flash。

        3.6、文件順序

        css文件放在最頂部,優(yōu)先渲染。js放在最底部,避免阻塞。

        讓網(wǎng)頁如何加載更快,有好多的細節(jié),還是要好好提升自己的技能~~~~~~~~~


        點個關注!更多分享內容。

         
        (文/媒體小英)
        免責聲明
        本文僅代表作發(fā)布者:媒體小英個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經(jīng)發(fā)現(xiàn),立即刪除,需自行承擔相應責任。涉及到版權或其他問題,請及時聯(lián)系我們刪除處理郵件:weilaitui@qq.com。
         

        Copyright ? 2016 - 2025 - 企資網(wǎng) 48903.COM All Rights Reserved 粵公網(wǎng)安備 44030702000589號

        粵ICP備16078936號

        微信

        關注
        微信

        微信二維碼

        WAP二維碼

        客服

        聯(lián)系
        客服

        聯(lián)系客服:

        在線QQ: 303377504

        客服電話: 020-82301567

        E_mail郵箱: weilaitui@qq.com

        微信公眾號: weishitui

        客服001 客服002 客服003

        工作時間:

        周一至周五: 09:00 - 18:00

        反饋

        用戶
        反饋

        主站蜘蛛池模板: 日本成人一区二区三区| 日本强伦姧人妻一区二区| 亚洲AV无码一区二区三区在线观看 | 日韩精品无码一区二区视频| 精品日产一区二区三区手机| 在线精品亚洲一区二区| 视频一区视频二区日韩专区| 日韩亚洲AV无码一区二区不卡| 国产成人精品一区二三区熟女| 日本一区二区在线不卡| 无码人妻视频一区二区三区| 动漫精品专区一区二区三区不卡| 久久精品国产第一区二区三区| 久久一区二区明星换脸| 国产手机精品一区二区| 国产一区二区三区精品视频| 国产精品视频一区麻豆| 国产精品乱码一区二区三区| 一区二区和激情视频| 成人精品视频一区二区三区| 亚洲AV无码一区二区三区牲色 | 无码人妻aⅴ一区二区三区| 国产午夜三级一区二区三| 亚洲日韩AV一区二区三区四区| 综合久久久久久中文字幕亚洲国产国产综合一区首| 精品福利一区二区三区| 伊人久久精品一区二区三区| 亚洲av福利无码无一区二区| 精品国产区一区二区三区在线观看| 亚洲国产欧美国产综合一区 | 亚洲成a人一区二区三区| 无码人妻一区二区三区一| 亚洲综合无码精品一区二区三区| 国产一区二区在线观看麻豆| 91无码人妻精品一区二区三区L| 香蕉免费看一区二区三区| 日本视频一区二区三区| 在线一区二区观看| 日韩精品乱码AV一区二区| 国产精品视频一区二区噜噜| 国产丝袜美女一区二区三区|