2013-02-14 54 views
0

我正在使用Navigation Timing API從頁面獲取加載事件。我已經添加了下面的JS代碼片段來輸出信息。我注意到的一件事很奇怪,當我檢查控制檯時,loadEventEnd時間早於loadEventStart時間回來。我認爲這是不可能的。導航計時API事件不按順序觸發

var startTime = new Date().getTime(); 
// retrieve the performance object in a cross browser way. Check window.performance first. 
window.performance = window.performance || window.mozPerformance || window.msPerformance || window.webkitPerformance || {}; 
var timing = window.performance.timing || {}; 
var navigation = window.performance.navigation || {}; 

// if the Navigation Timing API is supported 
if (window.performance && window.performance.timing) { 
    pageRequestStart = timing.requestStart; 
    pageResponseStart = timing.responseStart; 
    pageResponseEnd = timing.responseEnd; 
    pageLoadEventStart = timing.loadEventStart; 
    pageLoadEventEnd = timing.loadEventEnd; 
    pageLoadTime = timing.navigationStart; 
} 
var timingOutput = 
    "requestStart: " + pageRequestStart + "\n" 
    + "responseStart: " + pageResponseStart + "\n" 
    + "responseEnd: " + pageResponseEnd + "\n" 
    + "loadEventStart: " + pageLoadEventStart + "\n" 
    + "loadEventEnd: " + pageLoadEventEnd + "\n" 
    + "navigationStart: " + pageLoadTime; 
console.log(timingOutput); 
+0

這是一貫的,還是隻是一次性? – 2013-05-01 08:43:30

回答

1

雖然我不知道你的情況的具體情況,該NavigationTiming APIs是相當新的IE,Chrome瀏覽器,Firefox和Opera。在瀏覽器中規範和實現的開發過程中,由於瀏覽器之間的各種實現差異,可見許多類似於上述內容的小錯誤。

您看到的錯誤很可能在最近的瀏覽器版本中得到修復。如果您仍然在運行的瀏覽器上看到問題始終存在,則可以嘗試使用W3C webperf test cases for NavigationTiming查看是否有任何問題。