window.performance.timing下的属性
navigationStart
当前浏览器窗口的前一个网页封闭,发作unload事宜时的Unix毫秒时候戳。假如没有前一个网页,则即是fetchStart属性。
unloadEventStart
假如前一个网页与当前网页属于同一个域名,则返回前一个网页的unload事宜发作时的Unix毫秒时候戳。假如没有前一个网页,或许之前的网页跳转不是在同一个域名内,则返回值为0;
unloadEventEnd
假如前一个网页与当前网页属于同一个域名,则返回前一个网页unload事宜的回调函数终了时的Unix毫秒时候戳。假如没有前一个网页,或许之前的网页跳转不是在同一个域名内,则返回值为0。
redirectStart
返回第一个HTTP跳转最先时的Unix毫秒时候戳。假如没有跳转,或许不是同一个域名内部的跳转,则返回值为0。
redirectEnd
返回末了一个HTTP跳转终了时(即跳转回应的末了一个字节吸收完成时)的Unix毫秒时候戳。假如没有跳转,或许不是同一个域名内部的跳转,则返回值为0。
fetchStart
返回浏览器预备运用HTTP请求读取文档时的Unix毫秒时候戳。该事宜在网页查询当地缓存之前发作。
domainLookupStart
返回域名查询最先时的Unix毫秒时候戳。假如运用耐久衔接,或许信息是从当地缓存猎取的,则返回值等同于fetchStart属性的值。
domainLookupEnd
回域名查询终了时的Unix毫秒时候戳。假如运用耐久衔接,或许信息是从当地缓存猎取的,则返回值等同于fetchStart属性的值。
connectStart
返回HTTP请求最先向服务器发送时的Unix毫秒时候戳。假如运用耐久衔接(persistent connection),则返回值等同于fetchStart属性的值。
connectEnd
返回浏览器与服务器之间的衔接竖立时的Unix毫秒时候戳。假如竖立的是耐久衔接,则返回值等同于fetchStart属性的值。衔接竖立指的是一切握手和认证历程悉数终了
secureConnectionStart
返回浏览器与服务器最先平安链接的握手时的Unix毫秒时候戳。假如当前网页不请求平安衔接,则返回0。
requestStart
返回浏览器向服务器发出HTTP请求时(或最先读取当地缓存时)的Unix毫秒时候戳。
responseStart
返回浏览器从服务器收到(或从当地缓存读取)末了一个字节时(假如在此之前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。
怎样剖析页面团体加载速率
平常页面统计所须要的参数(dom剖析时候,domContentLoaded时候,onload时候, 白屏时候,getStyleConfig接口返回时候 – 预备加载新页面的肇端时候)
let pt = window.performance.timing;
/* dom剖析时候
*
*
*1.domComplete
*当前网页DOM构造天生时(即Document.readyState属性变成“complete”,以及响应的
*readystatechange事宜发作时)的Unix毫秒时候戳
*
*2.domInteractive
*当前网页DOM构造终了剖析、最先加载内嵌资本时
*即Document.readyState属性变成“interactive”、响应的readystatechange事宜触发时
*的Unix毫秒时候戳。
*/
let domComplete = pt.domComplete - pt.domInteractive;
/* domContentLoaded时候
*
*
*当前网页DOM构造天生时(即Document.readyState属性变成“complete”,以及响应的
*1.domContentLoadedEventEnd
*网页DOMContentLoaded事宜发作时(即DOM构造剖析终了、一切剧本最先运转时)的Unix毫秒时候
*戳。
*
*2.navigationStart
*当前浏览器窗口的前一个网页封闭,发作unload事宜时的Unix毫秒时候戳。
*假如没有前一个网页,则即是fetchStart属性
*/
let domLoaded = pt.domContentLoadedEventEnd - pt.navigationStart;
/* onload时候
*1.loadEventEnd
*当前网页load事宜的回调函数运转终了时的Unix毫秒时候戳。假如该事宜还没有发作,返回0。
*/
let onload = pt.loadEventEnd - pt.navigationStart;
// 白屏时候,getStyleConfig接口返回时候 - 预备加载新页面的肇端时候
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}`;
主如果检察目标值PAGET_页面加载时候,此目标指的是页面团体加载时候但不含(onload事宜和redirect), 此目标值可直接回响反映用户体验, 从此项目标能够晓得指定某时候段的页面加载速率值,以及和天,周,月的对照状态.
也能够查询目标ALLT_页面完整加载时候, 能够查询到从浏览器最先导航(用户点击链接或在地址栏输入url或点革新,退却按钮)到页面onload 事宜js完整跑完的一切时候.
假如发明页面加载速率有增添或削减,则能够分项查询前面的每一个目标值,总的来说他们的关联以下:
1.dom最先加载前一切消费时候=重定向时候+域名剖析时候+竖立衔接消费时候+请求消费时候+吸收数据消费时候
2.pageLoadTime页面加载时候=域名剖析时候+竖立衔接消费时候+请求消费时候+吸收数据消费时候+剖析dom消费时候+加载dom消费时候
3.allLoadTime页面完整加载时候=重定向时候+域名剖析时候+竖立衔接消费时候+请求消费时候+吸收数据消费时候+剖析dom消费时候+加载dom消费时候+实行onload事宜消费时候
4.resourcesLoadedTime资本加载时候=剖析dom消费时候+加载dom消费时候