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