摘要:如果沒有前一個(gè)網(wǎng)頁,則等于屬性。該事件在網(wǎng)頁查詢本地緩存之前發(fā)生。如果使用持久連接,則返回值等同于屬性的值。返回當(dāng)前網(wǎng)頁結(jié)構(gòu)生成時(shí)即屬性變?yōu)椋约跋鄳?yīng)的事件發(fā)生時(shí)的毫秒時(shí)間戳。
window.performance.timing下的屬性
navigationStart
當(dāng)前瀏覽器窗口的前一個(gè)網(wǎng)頁關(guān)閉,發(fā)生unload事件時(shí)的Unix毫秒時(shí)間戳。如果沒有前一個(gè)網(wǎng)頁,則等于fetchStart屬性。
unloadEventStart
如果前一個(gè)網(wǎng)頁與當(dāng)前網(wǎng)頁屬于同一個(gè)域名,則返回前一個(gè)網(wǎng)頁的unload事件發(fā)生時(shí)的Unix毫秒時(shí)間戳。如果沒有前一個(gè)網(wǎng)頁,或者之前的網(wǎng)頁跳轉(zhuǎn)不是在同一個(gè)域名內(nèi),則返回值為0;
unloadEventEnd
如果前一個(gè)網(wǎng)頁與當(dāng)前網(wǎng)頁屬于同一個(gè)域名,則返回前一個(gè)網(wǎng)頁unload事件的回調(diào)函數(shù)結(jié)束時(shí)的Unix毫秒時(shí)間戳。如果沒有前一個(gè)網(wǎng)頁,或者之前的網(wǎng)頁跳轉(zhuǎn)不是在同一個(gè)域名內(nèi),則返回值為0。
redirectStart
返回第一個(gè)HTTP跳轉(zhuǎn)開始時(shí)的Unix毫秒時(shí)間戳。如果沒有跳轉(zhuǎn),或者不是同一個(gè)域名內(nèi)部的跳轉(zhuǎn),則返回值為0。
redirectEnd
返回最后一個(gè)HTTP跳轉(zhuǎn)結(jié)束時(shí)(即跳轉(zhuǎn)回應(yīng)的最后一個(gè)字節(jié)接受完成時(shí))的Unix毫秒時(shí)間戳。如果沒有跳轉(zhuǎn),或者不是同一個(gè)域名內(nèi)部的跳轉(zhuǎn),則返回值為0。
fetchStart
返回瀏覽器準(zhǔn)備使用HTTP請求讀取文檔時(shí)的Unix毫秒時(shí)間戳。該事件在網(wǎng)頁查詢本地緩存之前發(fā)生。
domainLookupStart
返回域名查詢開始時(shí)的Unix毫秒時(shí)間戳。如果使用持久連接,或者信息是從本地緩存獲取的,則返回值等同于fetchStart屬性的值。
domainLookupEnd
回域名查詢結(jié)束時(shí)的Unix毫秒時(shí)間戳。如果使用持久連接,或者信息是從本地緩存獲取的,則返回值等同于fetchStart屬性的值。
connectStart
返回HTTP請求開始向服務(wù)器發(fā)送時(shí)的Unix毫秒時(shí)間戳。如果使用持久連接(persistent connection),則返回值等同于fetchStart屬性的值。
connectEnd
返回瀏覽器與服務(wù)器之間的連接建立時(shí)的Unix毫秒時(shí)間戳。如果建立的是持久連接,則返回值等同于fetchStart屬性的值。連接建立指的是所有握手和認(rèn)證過程全部結(jié)束
secureConnectionStart
返回瀏覽器與服務(wù)器開始安全鏈接的握手時(shí)的Unix毫秒時(shí)間戳。如果當(dāng)前網(wǎng)頁不要求安全連接,則返回0。
requestStart
返回瀏覽器向服務(wù)器發(fā)出HTTP請求時(shí)(或開始讀取本地緩存時(shí))的Unix毫秒時(shí)間戳。
responseStart
返回瀏覽器從服務(wù)器收到(或從本地緩存讀?。┳詈笠粋€(gè)字節(jié)時(shí)(如果在此之前HTTP連接已經(jīng)關(guān)閉,則返回關(guān)閉時(shí))的Unix毫秒時(shí)間戳
domLoading
返回當(dāng)前網(wǎng)頁DOM結(jié)構(gòu)開始解析時(shí)(即Document.readyState屬性變?yōu)椤發(fā)oading”、相應(yīng)的readystatechange事件觸發(fā)時(shí))的Unix毫秒時(shí)間戳。
domInteractive
返回當(dāng)前網(wǎng)頁DOM結(jié)構(gòu)結(jié)束解析、開始加載內(nèi)嵌資源時(shí)(即Document.readyState屬性變?yōu)椤癷nteractive”、相應(yīng)的readystatechange事件觸發(fā)時(shí))的Unix毫秒時(shí)間戳。
domContentLoadedEventStart
返回當(dāng)前網(wǎng)頁DOMContentLoaded事件發(fā)生時(shí)(即DOM結(jié)構(gòu)解析完畢、所有腳本開始運(yùn)行時(shí))的Unix毫秒時(shí)間戳。
domContentLoadedEventEnd
返回當(dāng)前網(wǎng)頁所有需要執(zhí)行的腳本執(zhí)行完成時(shí)的Unix毫秒時(shí)間戳。
domComplete
返回當(dāng)前網(wǎng)頁DOM結(jié)構(gòu)生成時(shí)(即Document.readyState屬性變?yōu)椤癱omplete”,以及相應(yīng)的readystatechange事件發(fā)生時(shí))的Unix毫秒時(shí)間戳。
loadEventStart
返回當(dāng)前網(wǎng)頁load事件的回調(diào)函數(shù)開始時(shí)的Unix毫秒時(shí)間戳。如果該事件還沒有發(fā)生,返回0。
loadEventEnd
返回當(dāng)前網(wǎng)頁load事件的回調(diào)函數(shù)運(yùn)行結(jié)束時(shí)的Unix毫秒時(shí)間戳。如果該事件還沒有發(fā)生,返回0。
如何分析頁面整體加載速度一般頁面統(tǒng)計(jì)所需要的參數(shù)(dom解析時(shí)間,domContentLoaded時(shí)間,onload時(shí)間, 白屏?xí)r間,getStyleConfig接口返回時(shí)間 - 準(zhǔn)備加載新頁面的起始時(shí)間)
let pt = window.performance.timing; /* dom解析時(shí)間 * * *1.domComplete *當(dāng)前網(wǎng)頁DOM結(jié)構(gòu)生成時(shí)(即Document.readyState屬性變?yōu)椤癱omplete”,以及相應(yīng)的 *readystatechange事件發(fā)生時(shí))的Unix毫秒時(shí)間戳 * *2.domInteractive *當(dāng)前網(wǎng)頁DOM結(jié)構(gòu)結(jié)束解析、開始加載內(nèi)嵌資源時(shí) *即Document.readyState屬性變?yōu)椤癷nteractive”、相應(yīng)的readystatechange事件觸發(fā)時(shí) *的Unix毫秒時(shí)間戳。 */ let domComplete = pt.domComplete - pt.domInteractive; /* domContentLoaded時(shí)間 * * *當(dāng)前網(wǎng)頁DOM結(jié)構(gòu)生成時(shí)(即Document.readyState屬性變?yōu)椤癱omplete”,以及相應(yīng)的 *1.domContentLoadedEventEnd *網(wǎng)頁DOMContentLoaded事件發(fā)生時(shí)(即DOM結(jié)構(gòu)解析完畢、所有腳本開始運(yùn)行時(shí))的Unix毫秒時(shí)間 *戳。 * *2.navigationStart *當(dāng)前瀏覽器窗口的前一個(gè)網(wǎng)頁關(guān)閉,發(fā)生unload事件時(shí)的Unix毫秒時(shí)間戳。 *如果沒有前一個(gè)網(wǎng)頁,則等于fetchStart屬性 */ let domLoaded = pt.domContentLoadedEventEnd - pt.navigationStart; /* onload時(shí)間 *1.loadEventEnd *當(dāng)前網(wǎng)頁load事件的回調(diào)函數(shù)運(yùn)行結(jié)束時(shí)的Unix毫秒時(shí)間戳。如果該事件還沒有發(fā)生,返回0。 */ let onload = pt.loadEventEnd - pt.navigationStart; // 白屏?xí)r間,getStyleConfig接口返回時(shí)間 - 準(zhǔn)備加載新頁面的起始時(shí)間 let white = window.dbStyleConfigEnd ? window.dbStyleConfigEnd - pt.navigationStart : ""; let dbStyle = window.dbStyleConfigEnd - window.dbStyleConfigStart; let url = `/statistics/activityPagePerf?hdType=${CFG.appName}&oaId=${CFG.actId}&domComplete=${domComplete}&domLoaded=${domLoaded}&onload=${onload}&white=${white}&dbStyle=${dbStyle}`;
主要是查看指標(biāo)值PAGET_頁面加載時(shí)間,此指標(biāo)指的是頁面整體加載時(shí)間但不含(onload事件和redirect), 此指標(biāo)值可直接反應(yīng)用戶體驗(yàn), 從此項(xiàng)指標(biāo)可以知道指定某時(shí)間段的頁面加載速度值,以及和天,周,月的對比狀況.
也可以查詢指標(biāo)ALLT_頁面完全加載時(shí)間, 可以查詢到從瀏覽器開始導(dǎo)航(用戶點(diǎn)擊鏈接或在地址欄輸入url或點(diǎn)刷新,后退按鈕)到頁面onload 事件js完全跑完的所有時(shí)間.
如果發(fā)現(xiàn)頁面加載速度有增加或減少,則可以分項(xiàng)查詢前面的每個(gè)指標(biāo)值,總的來說他們的關(guān)系如下:
1.dom開始加載前所有花費(fèi)時(shí)間=重定向時(shí)間+域名解析時(shí)間+建立連接花費(fèi)時(shí)間+請求花費(fèi)時(shí)間+接收數(shù)據(jù)花費(fèi)時(shí)間
2.pageLoadTime頁面加載時(shí)間=域名解析時(shí)間+建立連接花費(fèi)時(shí)間+請求花費(fèi)時(shí)間+接收數(shù)據(jù)花費(fèi)時(shí)間+解析dom花費(fèi)時(shí)間+加載dom花費(fèi)時(shí)間
3.allLoadTime頁面完全加載時(shí)間=重定向時(shí)間+域名解析時(shí)間+建立連接花費(fèi)時(shí)間+請求花費(fèi)時(shí)間+接收數(shù)據(jù)花費(fèi)時(shí)間+解析dom花費(fèi)時(shí)間+加載dom花費(fèi)時(shí)間+執(zhí)行onload事件花費(fèi)時(shí)間
4.resourcesLoadedTime資源加載時(shí)間=解析dom花費(fèi)時(shí)間+加載dom花費(fèi)時(shí)間
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/50881.html
摘要:如果沒有前一個(gè)網(wǎng)頁,則等于屬性。該事件在網(wǎng)頁查詢本地緩存之前發(fā)生。如果使用持久連接,則返回值等同于屬性的值。返回當(dāng)前網(wǎng)頁結(jié)構(gòu)生成時(shí)即屬性變?yōu)?,以及相?yīng)的事件發(fā)生時(shí)的毫秒時(shí)間戳。 window.performance.timing下的屬性 navigationStart 當(dāng)前瀏覽器窗口的前一個(gè)網(wǎng)頁關(guān)閉,發(fā)生unload事件時(shí)的Unix毫秒時(shí)間戳。如果沒有前一個(gè)網(wǎng)頁,則等于fetchSta...
摘要:如果沒有前一個(gè)網(wǎng)頁,則等于屬性。該事件在網(wǎng)頁查詢本地緩存之前發(fā)生。如果使用持久連接,則返回值等同于屬性的值。返回當(dāng)前網(wǎng)頁結(jié)構(gòu)生成時(shí)即屬性變?yōu)?,以及相?yīng)的事件發(fā)生時(shí)的毫秒時(shí)間戳。 window.performance.timing下的屬性 navigationStart 當(dāng)前瀏覽器窗口的前一個(gè)網(wǎng)頁關(guān)閉,發(fā)生unload事件時(shí)的Unix毫秒時(shí)間戳。如果沒有前一個(gè)網(wǎng)頁,則等于fetchSta...
摘要:性能時(shí)間線以一個(gè)統(tǒng)一的接口獲取由和所收集的性能數(shù)據(jù)。瀏覽器支持下表列舉了當(dāng)前主流瀏覽器對性能的支持,其中標(biāo)注星號的內(nèi)容并非來自于性能工作小組。 頁面的性能問題一直是產(chǎn)品開發(fā)過程中的重要一環(huán),很多公司也一直在使用各種方式監(jiān)控產(chǎn)品的頁面性能。從控制臺工具、Fiddler抓包工具,到使用DOMContentLoaded和document.onreadystatechange這種侵入式j(luò)ava...
摘要:連接建立指的是所有握手和認(rèn)證過程全部結(jié)束。發(fā)生錯(cuò)誤的腳本字符串發(fā)生錯(cuò)誤的行號數(shù)字發(fā)生錯(cuò)誤的列號數(shù)字對象對象若該函數(shù)返回,則阻止執(zhí)行默認(rèn)事件處理函數(shù)。在某些瀏覽器中,通過在使用屬性并要求服務(wù)器發(fā)送適當(dāng)?shù)捻憫?yīng)頭,該行為可被覆蓋。 1.頁面整體性能 通過瀏覽器提供的 window.performance.timing 方法,我們能夠得到網(wǎng)頁每個(gè)處理階段的精確時(shí)間。打開一個(gè)頁面后,這些信息會被...
閱讀 2316·2021-11-16 11:51
閱讀 3528·2021-09-26 10:14
閱讀 1857·2021-09-22 15:58
閱讀 1110·2019-08-30 15:52
閱讀 2026·2019-08-30 15:43
閱讀 2624·2019-08-30 13:46
閱讀 923·2019-08-30 13:10
閱讀 1034·2019-08-29 18:32