h5中performance.timing輕鬆獲取網頁各個資料 如dom載入時間 渲染時長 載入完觸發時間
如何在瀏覽器中檢視當前頁面請求各個指標資料(重點知識)
在控制檯中輸入window.performance.timing(html5的屬性);
各欄位的含義:
· navigationStart:當前瀏覽器視窗的前一個網頁關閉,發生unload事件時的Unix毫秒時間戳。如果沒有前一個網頁,則等於fetchStart屬性。
· unloadEventStart:如果前一個網頁與當前網頁屬於同一個域名,則返回前一個網頁的unload事件發生時的Unix毫秒時間戳。如果沒有前一個網頁,或者之前的網頁跳轉不是在同一個域名內,則返回值為0。
· unloadEventEnd
· redirectStart:返回第一個HTTP跳轉開始時的Unix毫秒時間戳。如果沒有跳轉,或者不是同一個域名內部的跳轉,則返回值為0。
· redirectEnd:返回最後一個HTTP跳轉結束時(即跳轉回應的最後一個位元組接受完成時)的Unix毫秒時間戳。如果沒有跳轉,或者不是同一個域名內部的跳轉,則返回值為0。
· fetchStart:返回瀏覽器準備使用HTTP請求讀取文件時的Unix毫秒時間戳。該事件在網頁查詢本地快取之前發生。
· domainLookupStart:返回域名查詢開始時的Unix毫秒時間戳。如果使用持久連線,或者資訊是從本地快取獲取的,則返回值等同於fetchStart屬性的值。
· domainLookupEnd:返回域名查詢結束時的Unix毫秒時間戳。如果使用持久連線,或者資訊是從本地快取獲取的,則返回值等同於fetchStart屬性的值。
· connectStart:返回HTTP請求開始向伺服器傳送時的Unix毫秒時間戳。如果使用持久連線(persistent connection),則返回值等同於fetchStart屬性的值。
· connectEnd:返回瀏覽器與伺服器之間的連線建立時的
· secureConnectionStart:返回瀏覽器與伺服器開始安全連結的握手時的Unix毫秒時間戳。如果當前網頁不要求安全連線,則返回0。
· requestStart:返回瀏覽器向伺服器發出HTTP請求時(或開始讀取本地快取時)的Unix毫秒時間戳。
· responseStart:返回瀏覽器從伺服器收到(或從本地快取讀取)第一個位元組時的Unix毫秒時間戳。
· responseEnd:返回瀏覽器從伺服器收到(或從本地快取讀取)最後一個位元組時(如果在此之前HTTP連線已經關閉,則返回關閉時)的Unix毫秒時間戳。
· domLoading:返回當前網頁DOM結構開始解析時(即Document.readyState屬性變為“loading”、相應的readystatechange事件觸發時)的Unix毫秒時間戳。
· domInteractive:返回當前網頁DOM結構結束解析、開始載入內嵌資源時(即Document.readyState屬性變為“interactive”、相應的readystatechange事件觸發時)的Unix毫秒時間戳。
· domContentLoadedEventStart:返回當前網頁DOMContentLoaded事件發生時(即DOM結構解析完畢、所有指令碼開始執行時)的Unix毫秒時間戳。
· domContentLoadedEventEnd:返回當前網頁所有需要執行的指令碼執行完成時的Unix毫秒時間戳。
· domComplete:返回當前網頁DOM結構生成時(即Document.readyState屬性變為“complete”,以及相應的readystatechange事件發生時)的Unix毫秒時間戳。
· loadEventStart:返回當前網頁load事件的回撥函式開始時的Unix毫秒時間戳。如果該事件還沒有發生,返回0。
· loadEventEnd:返回當前網頁load事件的回撥函式執行結束時的Unix毫秒時間戳。如果該事件還沒有發生,返回0。通過while迴圈持續判斷直到loadEventEnd>0則表示完全載入完畢了!網路不再有任何資料請求、dom也渲染完畢了!!!