performance.timing檢測頁面加載速度


with(performance){
    readyStart = timing.fetchStart - timing.navigationStart;
    redirectTime = timing.redirectEnd  - timing.redirectStart;
    appcacheTime = timing.domainLookupStart  - timing.fetchStart;
    unloadEventTime = timing.unloadEventEnd - timing.unloadEventStart;
    lookupDomainTime = timing.domainLookupEnd - timing.domainLookupStart;
    connectTime = timing.connectEnd - timing.connectStart;
    requestTime = timing.responseEnd - timing.requestStart;
    initDomTreeTime = timing.domInteractive - timing.responseEnd;domReadyTime = timing.domComplete - timing.domInteractive;
     loadTime = timing.loadEventEnd - timing.navigationStart;
     //過早獲取時 domComplete有時會是0loadEventTime = timing.loadEventEnd - timing.loadEventStart;loadTime = timing.loadEventEnd - timing.navigationStart;
     //過早獲取時 loadEventEnd有時會是0
    console.log('准備新頁面時間耗時: ' + readyStart);console.log('redirect 重定向耗時: ' + redirectTime);console.log('Appcache 耗時: ' + appcacheTime);console.log('unload 前文檔耗時: ' + unloadEventTime);console.log('DNS 查詢耗時: ' + lookupDomainTime);console.log('TCP連接耗時: ' + connectTime);console.log('request請求耗時: ' + requestTime);console.log('請求完畢至DOM加載: ' + initDomTreeTime);console.log('解釋dom樹耗時: ' + domReadyTime);console.log('從開始至load總耗時: ' + loadTime);
}

 mark-zhq[5]

·   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:返回瀏覽器從服務器收到(或從本地緩存讀取)第一個字節時的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。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM