国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

前端性能指標--首屏時間統計

開發 前端
頁面首屏加載速度就成了重要的前端性能指標,統計首屏時間可以幫助我們更好地分析原因和優化性能,進而提升項目質量、提高用戶的使用體驗。

Labs 導讀

隨著公司的高速發展,業務需求越來越多,用戶和公司對于頁面的穩定性、性能也有了更高的訴求。根據Aberdeen Group的調研發現從瀏覽器輸入地址開始訪問到頁面展示的最佳時間為3秒內,每多一秒的延遲會使客戶滿意度降低16%。

Part 01、  白屏和首屏時間  

? 白屏:從用戶請求頁面開始到顯示第一個字符的時間。中間包括DNS查詢、建立TCP鏈接、發送首個HTTP請求、返回HTML文檔、HTML文檔head解析完畢。通常認為瀏覽器開始渲染<body>標簽或者解析完<head>標簽的時刻就是頁面白屏結束的時間點。

? 首屏:指用戶打開網站開始,到瀏覽器首屏內容渲染完成的時間,對于用戶體驗來說,首屏時間是用戶對一個網站的重要體驗因素。

Part 02、 PerformanceTiming 

performance.timing記錄了用于分析頁面整體性能指標的關鍵時間點,包含網絡、解析等一系列的時間數據。最好在頁面完全加載完成之后再使用,因為很多值必須在頁面完全加載之后才能得到。最簡單的辦法是在window.onload(vm.$nextTick 或 react hooks useEffect)事件中讀取各種數據。

在瀏覽器控制臺,console輸入performance可以查看到performance.timing相關時間節點:

圖1 performance.timing參數介紹

通過PerformanceTiming不僅可以幫助我們省去繁瑣的手動打點操作,還可以幫助我們獲取很多其他數據,對于整個時間節點的對應關系:下圖顯示了PerformanceTiming中定義的所有時間戳屬性。

圖2 performance.timing參數說明


比較有用的頁面性能數據大概包括如下幾個:

  • 重定向耗時:redirectEnd - redirectStart
  • DNS查詢耗時:domainLookupEnd - domainLookupStart
  • TCP鏈接耗時:connectEnd - connectStart
  • HTTP請求耗時:responseEnd - responseStart
  • 解析dom樹耗時:domComplete - domInteractive
  • 白屏時間:responseStart - navigationStart
  • DOM ready時間:domContentLoadedEventEnd - navigationStart
  • onload時間:loadEventEnd - navigationStart

Part 03、MutationObserver API 

MutationObserver API讓我們能監聽DOM樹變化,在首屏的加載中,會涉及到DOM的增加、修改、刪除,所以會觸發多次MutationObserver。

1)利用MutationObserver監聽document對象,每當dom變化時觸發回調函數

2)判斷監聽的dom是否在首屏內,如果在首屏內,將該dom放到指定的數組中,記錄下當前dom變化的時間點

3)在MutationObserver的callback函數中,通過防抖函數,監聽document.readyState狀態的變化

4)當document.readyState === 'complete',停止定時器和 取消對document的監聽

5)遍歷存放dom的數組,找出最后變化節點的時間,就是首屏加載完成的時間

監聽container外層容器的變化 ,當觸發回調函數時,判斷對應的事件類型以及新增加的子dom是否是首屏展示的dom節點。

圖片圖片

盡管現在的MutationObserver 在移動端兼容性比較好,但為了更好的兼容,我們可以另外引入 MutationEvents API。

Part 04、 webview里H5頁面首屏時間 

圖片圖片

4.1 WebView初始化階段

該階段包括幾個主要步驟:

(1)開始解析Url(Url中可能包含${}需要解析的字段)

(2)完成解析Url

(3)開始校驗Url是否可以打開

(4)結束校驗Url

(5)開始加載Url到webview容器和家親app jsbridge提供了getPerformInfo方法可以幫助我們獲取WebView性能數據:

WebViewUrlLoaded WebView加載url時間:startLoadUrl(開始加載Url到webview容器) - startProcessUrl(開始解析Url);

4.2 HTTP請求服務階段

該階段包括幾個主要步驟:

(1)DNS查詢

(2) 等待 TCP 隊列

(3) TCP鏈接

(4) 發起http請求和響應

(5) 服務器端處理 HTTP 請求 ,服務器端處理 HTTP 請求,瀏覽器得到html代碼 

(6) 開始head解析

該階段的時間從webview容器開始加載Url開始到完成head解析,可以使用window.performance.timing.responseStart - startLoadUrl(開始加載Url到webview容器)

4.3 靜態資源下載

該階段包括幾個主要步驟:

(1)head解析 并開始請求靜態資源(如js、css、圖片等)

(2) 靜態資源下載完成

(3) 開始解析靜態資源

該階段的時間從開始請求靜態資源,到開始解析靜態資源(比如 JS),我們可以在js文件開始自定義JscriptLaunch字段,并賦值給window.preformance對象,(window.PerformInfo || (window.PerformInfo = {})).JscriptLaunch = new Date().getTime(); 以便于我們統計該階段的時間:window.PerformInfo.JscriptLaunch - window.performance.timing.responseStart。

4.4 API調用和首屏dom渲染

該階段包括幾個主要步驟:

(1) 開始解析靜態資源,請求API

(2) 響應數據

(3) 下載資源并渲染dom

(4) 首屏內容加載完成

利用MutationObserver監控DOM的變化,獲取首屏dom加載完成的時間,用該時間點 減去window.PerformInfo.JscriptLaunch,就獲得了該階段的時間。

Part 05、  數據上報 

將統計到的數據以圖片打點、fetch請求或Beacon等形式進行上報,可以幫助我們后續進行分析和優化。

- 直接發請求上報

直接將數據通過 ajax 發送到后端有一個問題,就是在頁面卸載或刷新時進行上報的話,請求可能會在瀏覽器關閉或重新加載前還未發送至服務端就被瀏覽器 cancel 掉,導致數據上報失敗。

- 利用圖片上報

服務器端并不關心具體的數據上報方式,無論是請求image文件還是請求其他普通文件(JS)或者是請求接口,可以進行數據上報,

使用image有幾個優點:

  • 圖片的src屬性并不會跨域,不會出現跨域問題;
  • 大部分瀏覽器會延遲卸載(unload)文檔以加載圖像,可以避免第一種方法的問題
  • 只要在js中new出Image對象就能發起請求,不用插入dom中,可以防止阻塞頁面加載,影響用戶體驗
  • 相比PNG/JPG,GIF的體積最小,最適合進行上報,一般采用1*1像素的透明 gif 進行上報

- 通過css定義content,按鈕點擊就會上報,但是不能動態傳入一些變量

圖片圖片

- Beacon

Beacon可將數據異步發送至服務端,且可能保障在頁面卸載實現前發送申請(解決頁面卸載會終止請求的問題)

圖片圖片

Part 06、  總結 

頁面首屏加載時間是個重要的性能指標,通過上面的方式對首屏時間進行統計分析,可以幫助我們有針對性的進行性能優化。同時頁面性能的提升,帶給用戶更好的產品體驗,這樣才會得到好的產品反饋,給企業帶來價值。

責任編輯:龐桂玉 來源: 移動Labs
相關推薦

2023-11-25 20:16:22

前端

2021-09-08 10:42:45

前端面試性能指標

2024-06-12 00:00:05

2023-11-20 09:48:13

Linux性能指標命令

2024-09-20 08:32:21

2011-05-04 13:53:08

jQuery

2010-09-08 11:38:27

2022-05-02 08:56:04

前端性能指標

2013-06-17 10:19:30

交換機性能交換機參數交換機

2023-12-29 15:30:41

內存存儲

2011-07-28 14:58:49

HP ProLiant服務器

2011-06-07 14:16:38

雙絞線

2017-02-22 11:51:11

FortiGate企業級防火墻NGFW

2017-10-30 10:28:52

前端開發工程師性能指標

2009-12-11 15:17:35

2020-10-19 08:53:08

Redis性能指標監控

2018-01-04 09:23:21

WEB服務器性能

2024-06-28 11:54:20

2023-09-08 15:37:29

軟件開發性能

2009-11-17 10:14:27

核心路由器
點贊
收藏

51CTO技術棧公眾號

国产一区二区三区不卡在线观看| 欧美性猛xxx| 亚洲影院高清在线| 亚洲永久av| 最新成人av在线| 一区二区三区四区欧美日韩| 色婷婷一区二区三区| 久久亚洲欧美日韩精品专区 | 欧美成在线视频| a级片国产精品自在拍在线播放| 亚洲欧美一区二区久久| 人妻av中文系列| 美女视频黄a大片欧美| 亚洲综合社区网| 美女av一区| 久久国产精品久久久久久| 91高清视频在线观看| 在线精品亚洲一区二区不卡| 成人av影视| 久久精品综合网| 黄色大片中文字幕| 精品一区精品二区高清| 久久精品人人做人人爽电影| 国产综合视频| 99久久精品无码一区二区毛片| 欧美亚洲国产激情| 国产va免费精品高清在线观看| 亚洲小说春色综合另类电影| 日韩一二三在线视频播| 亚洲电影有码| 丝袜一区二区三区| 日本精品在线中文字幕| 国产亚洲精品久久| 超薄肉色丝袜脚交一区二区| 亚洲午夜精品久久久久久久久久久久 | 日韩成人一级大片| 精品卡一卡二| 亚洲黄色在线| 国新精品乱码一区二区三区18| 国产一区日韩一区| 国产精品一区二区不卡视频| 国产精品videosex极品| 官网99热精品| 在线视频亚洲| 日韩亚洲视频| 久久草av在线| 日韩一级性生活片| 久久亚洲捆绑美女| www.精品在线| 亚洲综合图片区| 香蕉视频在线网站| 色又黄又爽网站www久久| av在线播放网| 亚洲国产小视频在线观看| 日本不良网站在线观看| 中文字幕亚洲字幕| 国产精品jk白丝蜜臀av小说| 日韩免费高清在线观看| 欧美精品九九| 性欧美videosex高清少妇| 国产乱子伦一区二区三区国色天香| 欧日韩免费视频| 最新久久zyz资源站| 欧美黄色小说| 精品成人a区在线观看| 久久影视精品| 国产精品美女在线| 一本色道久久| 国产精品久久久久9999爆乳| 国产精品色呦呦| 飘雪影视在线观看免费观看| 精品久久久久久无| 一区在线不卡| 91久久国产精品| 另类小说综合欧美亚洲| 日本激情视频在线| 日本国产一区二区| 北岛玲heyzo一区二区| 91福利视频在线观看| 在线播放精品| 国自产拍偷拍精品啪啪一区二区| 亚洲色图欧洲色图| 少妇av在线| 久久欧美在线电影| 亚洲在线视频| 黄色一级二级三级| 欧美少妇xxx| 国产乱码精品一区二区三区亚洲人| 国产在线视频91| 极品少妇xxxx精品少妇| aaaaa毛片| 日韩大片免费观看视频播放| 欧美人妖在线| 蜜臀av性久久久久蜜臀av| 一区二区在线观看免费视频播放 | 91av在线播放| 一本不卡影院| 99草草国产熟女视频在线| 在线视频你懂得一区二区三区| 蜜桃成人精品| 97久久人人超碰caoprom欧美| 国产99久久久久| 男人久久精品| 久久99视频精品| 久久久久99| 性欧美18+| 在线国产精品播放| 欧美另类亚洲| 女性隐私黄www网站视频| 91麻豆精品久久久久蜜臀| 女同久久另类99精品国产| 亚洲精品一区国产精品| 亚洲成av人**亚洲成av**| 欧美久久久网站| 欧美三级网色| 婷婷综合久久一区二区三区| 欧美亚洲黄色| 亚洲一区3d动漫同人无遮挡 | 国产成人免费高清视频| 黑丝美女久久久| 8x国产一区二区三区精品推荐| 蜜桃久久影院| 亚洲va在线va天堂| jizz国产精品| 免费人成在线观看视频播放| 欧美电影影音先锋| 欧美3p视频| 男人的天堂www| 日韩一二三在线视频播| 久久国产乱子精品免费女| 91在线看黄| 2014国产精品| 午夜不卡av免费| 亚洲小说图片视频| 日韩中文字幕组| 亚洲最新视频在线| 99人久久精品视频最新地址| 欧洲免费在线视频| 国产精品草莓在线免费观看 | 免费成人av网站| 天天综合日日夜夜精品| 亚洲最大在线| 国产高潮免费视频| 久久99久久99精品免观看粉嫩| 成人国产电影网| 中文另类视频| 97中文字幕在线| 亚洲最大中文字幕| 成人免费视频播放| jizz亚洲女人高潮大叫| 久久久久久久9| 色久欧美在线视频观看| 91亚洲精品久久久蜜桃网站| 国产精品成人3p一区二区三区| 国产伦精品一区二区三区四区视频_| 亚洲男人天堂古典| 成人一区在线观看| 高清一区二区中文字幕| 黄色aaa级片| 国产99在线|中文| 午夜视频在线观看一区二区 | 免费福利视频一区| 亚洲综合婷婷久久| 78色国产精品| 尤物av一区二区| 日韩在线观看| 国产特黄在线| 欧美在线日韩精品| 亚洲电影免费观看| 成人性生交大合| gogo人体一区| 日韩写真在线| 国产精品对白刺激久久久| 精品视频全国免费看| 久热re这里精品视频在线6| gogo久久| 欧美成人一区二区在线观看| 欧美精品成人在线| 亚洲不卡在线观看| 一本一本久久| 欧美日韩大片| 四虎国产精品成人免费4hu| 成人福利视频网| 日韩情涩欧美日韩视频| 国产成人8x视频一区二区| 日韩三级网址| 亚洲成人av在线影院| 美女一区视频| 久久久999精品| 婷婷成人激情在线网| 乱码第一页成人| 亚洲日日夜夜| 欧美知名女优| 亚洲日本精品国产第一区| 久久久91精品国产| 图片区小说区区亚洲影院| 日本亚洲天堂网| 好吊妞视频这里有精品| 69久久精品| 亚洲 欧美 日韩 国产综合 在线|