web性能重要指標(biāo)——時(shí)長
通常在監(jiān)控前端頁面性能的時(shí)候,我們會需要獲取到很多的時(shí)間戳,比如用戶按下回車的時(shí)候開始計(jì)時(shí),但這個(gè)時(shí)候,我們統(tǒng)計(jì)的js代碼并沒有加載過來,也無法讀取到相關(guān)的信息。在HTML5出來以后,用window.performance對象用于監(jiān)控頁面性能,而獲取相關(guān)時(shí)間戳信息則是Performance.timing對象,改對象是一個(gè)只讀對象,包含了潛在相關(guān)的性能信息。
語法
let timingInfo = performance.timing;
瀏覽器支持
performance.timing屬性列表
屬性以及代表意義圖解
屬性詳解
navigationStart —— 當(dāng)前瀏覽器窗口的前一個(gè)網(wǎng)頁關(guān)閉時(shí),觸發(fā)unload時(shí)的unix時(shí)間戳,是新開窗口,值與fetchStart相同;
fetchStart —— 返回瀏覽器準(zhǔn)備使用HTTP請求讀取文檔時(shí)的Unix毫秒時(shí)間戳;
redirectStart —— 同域名重定向時(shí)的unix時(shí)間戳;沒有重定向時(shí)返回0;
redirectEnd —— 重定向的結(jié)束時(shí)間戳;
domainLookupStart —— 域名查詢開始時(shí)的Unix毫秒時(shí)間戳。如果使用持久連接,或者信息是從本地緩存獲取的,則返回值等同于fetchStart屬性的值;
domainLookupEnd —— 域名查詢結(jié)束時(shí)的Unix毫秒時(shí)間戳。如果使用持久連接,或者信息是從本地緩存獲取的,則返回值等同于fetchStart屬性的值;
loadEventStart —— 當(dāng)前網(wǎng)頁load事件的回調(diào)函數(shù)開始時(shí)的Unix毫秒時(shí)間戳。如果該事件還沒有發(fā)生,返回0;
loadEventEnd