1. function getPerformanceTiming() {
    2. var performance = window.performance;
    3. if (!performance) {
    4. console.log('你的浏览器不支持 performance 接口');
    5. return;
    6. }
    7. var t = performance.timing;
    8. var times = {};
    9. //页面加载完成的时间
    10. times.loadPage = t.loadEventEnd - t.navigationStart;
    11. //【解析 DOM 树结构的时间
    12. times.domReady = t.domComplete - t.responseEnd;
    13. //重定向的时间
    14. times.redirect = t.redirectEnd - t.redirectStart;
    15. //DNS 查询时间
    16. times.lookupDomain = t.domainLookupEnd - t.domainLookupStart;
    17. //读取页面第一个字节的时间
    18. times.ttfb = t.responseStart - t.navigationStart;
    19. //内容加载完成的时间
    20. times.request = t.responseEnd - t.requestStart;
    21. //执行 onload 回调函数的时间
    22. times.loadEvent = t.loadEventEnd - t.loadEventStart;
    23. // DNS 缓存时间
    24. times.appcache = t.domainLookupStart - t.fetchStart;
    25. // 卸载页面的时间
    26. times.unloadEvent = t.unloadEventEnd - t.unloadEventStart;
    27. // TCP 建立连接完成握手的时间
    28. times.connect = t.connectEnd - t.connectStart;
    29. return times;
    30. }