window.performance對象詳解

window.performance是W3C性能小組引入的新的API间影,允許網(wǎng)頁訪問某些函數(shù)來測量網(wǎng)頁和Web應用程序的性能,包括Navigation Timing API和高分辨率時間數(shù)據(jù)。

目前IE9以上的瀏覽器都支持。

一個performance對象的完整結構如下圖所示:


window.preformance

詳見下述說明:

// 獲取 performance 數(shù)據(jù)
var performance = {
    // memory 是非標準屬性穷缤,只在 Chrome 有
    // 財富問題:我有多少內(nèi)存
    memory: {
        usedJSHeapSize:  16100000, // JS 對象(包括V8引擎內(nèi)部對象)占用的內(nèi)存,一定小于 totalJSHeapSize
        totalJSHeapSize: 35100000, // 可使用的內(nèi)存
        jsHeapSizeLimit: 793000000 // 內(nèi)存大小限制
    },

    //  哲學問題:我從哪里來箩兽?
    navigation: {
        redirectCount: 0, // 如果有重定向的話津肛,頁面通過幾次重定向跳轉而來
        type: 0           // 0   即 TYPE_NAVIGATENEXT 正常進入的頁面(非刷新、非重定向等)
                          // 1   即 TYPE_RELOAD       通過 window.location.reload() 刷新的頁面
                          // 2   即 TYPE_BACK_FORWARD 通過瀏覽器的前進后退按鈕進入的頁面(歷史記錄)
                          // 255 即 TYPE_UNDEFINED    非以上方式進入的頁面
    },

    timing: {
        // 在同一個瀏覽器上下文中汗贫,前一個網(wǎng)頁(與當前頁面不一定同域)unload 的時間戳身坐,如果無前一個網(wǎng)頁 unload ,則與 fetchStart 值相等
        navigationStart: 1441112691935,

        // 前一個網(wǎng)頁(與當前頁面同域)unload 的時間戳落包,如果無前一個網(wǎng)頁 unload 或者前一個網(wǎng)頁與當前頁面不同域部蛇,則值為 0
        unloadEventStart: 0,

        // 和 unloadEventStart 相對應,返回前一個網(wǎng)頁 unload 事件綁定的回調(diào)函數(shù)執(zhí)行完畢的時間戳
        unloadEventEnd: 0,

        // 第一個 HTTP 重定向發(fā)生時的時間咐蝇。有跳轉且是同域名內(nèi)的重定向才算涯鲁,否則值為 0 
        redirectStart: 0,

        // 最后一個 HTTP 重定向完成時的時間。有跳轉且是同域名內(nèi)部的重定向才算有序,否則值為 0 
        redirectEnd: 0,

        // 瀏覽器準備好使用 HTTP 請求抓取文檔的時間抹腿,這發(fā)生在檢查本地緩存之前
        fetchStart: 1441112692155,

        // DNS 域名查詢開始的時間,如果使用了本地緩存(即無 DNS 查詢)或持久連接旭寿,則與 fetchStart 值相等
        domainLookupStart: 1441112692155,

        // DNS 域名查詢完成的時間警绩,如果使用了本地緩存(即無 DNS 查詢)或持久連接,則與 fetchStart 值相等
        domainLookupEnd: 1441112692155,

        // HTTP(TCP) 開始建立連接的時間盅称,如果是持久連接肩祥,則與 fetchStart 值相等
        // 注意如果在傳輸層發(fā)生了錯誤且重新建立連接,則這里顯示的是新建立的連接開始的時間
        connectStart: 1441112692155,

        // HTTP(TCP) 完成建立連接的時間(完成握手)缩膝,如果是持久連接混狠,則與 fetchStart 值相等
        // 注意如果在傳輸層發(fā)生了錯誤且重新建立連接,則這里顯示的是新建立的連接完成的時間
        // 注意這里握手結束逞盆,包括安全連接建立完成檀蹋、SOCKS 授權通過
        connectEnd: 1441112692155,

        // HTTPS 連接開始的時間,如果不是安全連接,則值為 0
        secureConnectionStart: 0,

        // HTTP 請求讀取真實文檔開始的時間(完成建立連接)俯逾,包括從本地讀取緩存
        // 連接錯誤重連時贸桶,這里顯示的也是新建立連接的時間
        requestStart: 1441112692158,

        // HTTP 開始接收響應的時間(獲取到第一個字節(jié)),包括從本地讀取緩存
        responseStart: 1441112692686,

        // HTTP 響應全部接收完成的時間(獲取到最后一個字節(jié))桌肴,包括從本地讀取緩存
        responseEnd: 1441112692687,

        // 開始解析渲染 DOM 樹的時間皇筛,此時 Document.readyState 變?yōu)?loading,并將拋出 readystatechange 相關事件
        domLoading: 1441112692690,

        // 完成解析 DOM 樹的時間坠七,Document.readyState 變?yōu)?interactive水醋,并將拋出 readystatechange 相關事件
        // 注意只是 DOM 樹解析完成,這時候并沒有開始加載網(wǎng)頁內(nèi)的資源
        domInteractive: 1441112693093,

        // DOM 解析完成后彪置,網(wǎng)頁內(nèi)資源加載開始的時間
        // 在 DOMContentLoaded 事件拋出前發(fā)生
        domContentLoadedEventStart: 1441112693093,

        // DOM 解析完成后拄踪,網(wǎng)頁內(nèi)資源加載完成的時間(如 JS 腳本加載執(zhí)行完畢)
        domContentLoadedEventEnd: 1441112693101,

        // DOM 樹解析完成,且資源也準備就緒的時間拳魁,Document.readyState 變?yōu)?complete惶桐,并將拋出 readystatechange 相關事件
        domComplete: 1441112693214,

        // load 事件發(fā)送給文檔,也即 load 回調(diào)函數(shù)開始執(zhí)行的時間
        // 注意如果沒有綁定 load 事件潘懊,值為 0
        loadEventStart: 1441112693214,

        // load 事件的回調(diào)函數(shù)執(zhí)行完畢的時間
        loadEventEnd: 1441112693215
    }
};
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末姚糊,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子授舟,更是在濱河造成了極大的恐慌救恨,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件释树,死亡現(xiàn)場離奇詭異肠槽,居然都是意外死亡,警方通過查閱死者的電腦和手機躏哩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門署浩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來揉燃,“玉大人扫尺,你說我怎么就攤上這事〈短溃” “怎么了正驻?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長抢腐。 經(jīng)常有香客問我姑曙,道長,這世上最難降的妖魔是什么迈倍? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任伤靠,我火速辦了婚禮,結果婚禮上啼染,老公的妹妹穿的比我還像新娘宴合。我一直安慰自己焕梅,他們只是感情好,可當我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布卦洽。 她就那樣靜靜地躺著贞言,像睡著了一般。 火紅的嫁衣襯著肌膚如雪阀蒂。 梳的紋絲不亂的頭發(fā)上该窗,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天,我揣著相機與錄音蚤霞,去河邊找鬼酗失。 笑死,一個胖子當著我的面吹牛昧绣,可吹牛的內(nèi)容都是我干的级零。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼滞乙,長吁一口氣:“原來是場噩夢啊……” “哼奏纪!你這毒婦竟也來了?” 一聲冷哼從身側響起斩启,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤序调,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后兔簇,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體发绢,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年垄琐,在試婚紗的時候發(fā)現(xiàn)自己被綠了边酒。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡狸窘,死狀恐怖墩朦,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情翻擒,我是刑警寧澤氓涣,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站陋气,受9級特大地震影響劳吠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜巩趁,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一痒玩、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦蠢古、人聲如沸燃观。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽缆毁。三九已至,卻和暖如春到涂,著一層夾襖步出監(jiān)牢的瞬間脊框,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工践啄, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留浇雹,地道東北人。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓屿讽,卻偏偏與公主長得像昭灵,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子伐谈,可洞房花燭夜當晚...
    茶點故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內(nèi)容