首屏和白屏時間計算


首先明確,首屏和白屏的時間計算,沒有明確的API可以得到。

白屏 = 開始顯示body的時間 - 開始請求的時間

首屏 = 首屏內容渲染結束的時間 - 開始請求的時間

具體計算方法如下:

1. 白屏

支持performance api,開始請求的時間 performance.timing.navigationStart

<html>
    <head>
        <title>白屏時間</title>
        <link href="xxxxx"/>
        <script>var endTime = new Date() </script>
    </head>    
    <body>    
    </body>
</html>

白屏 = endTime - performance.timing.navigationStart

不支持performance api,只能采用打點的方式,在dom中插入 <script> startTime = Date.now(); </script>

<html>
    <head>
        <script> var startTime = new Date() </script>       
        <title>白屏時間</title>
        <link href="xxxxx"/>
        <link href="xxxxx"/>
        <script> var endTime = new Date() </script>    
    </head>    
    <body></body>
</html>

白屏 = endTime - startTime

2. 首屏

首屏是指,在不滾動屏幕前提下,第一屏頁面顯示完成花費的時間。頁面內容顯示完成,才算首屏時間,部分未顯示,不算。首屏時間一般在5秒內,算優秀,在10秒內可接受,超過10秒,無法忍受。

首屏渲染結束這個時間,無法確切的計算。一般可以在幾個近似的地方打點:

1. 首屏dom和第二屏dom之間 打點 不同屏幕尺寸,有差異,模糊計算
2. 首屏圖片中最慢的加載完成 打點 監聽所有首屏的圖片,在onload事件中,記錄時間最大值
3. 在domReady或onload中 打點


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM