ページデータ読み込み時の様々な処理時間を取得する

説明

ページデータ読み込み時の様々な処理時間を取得するにはNavigation Timingを利用します。処理された時間はwindowオブジェクトのperformanceオブジェクトのtimingオブジェクトに入っています。非常に多くのプロパティが用意されています。どのプロパティが、どのタイミングに該当するかはNavigation Timing (w3c)のページを参照してください。
2012年1月時点ではFirefox 9とGoogle Chrome 16が対応しています。

サンプルプログラム

window.onload = function(){
var now = (new Date()).getTime();
var t = "navigationStart : "+(now - performance.timing.navigationStart);
t += "<br>unloadEventStart : "+(now - performance.timing.unloadEventStart);
t += "<br>unloadEventEnd : "+(now - performance.timing.unloadEventEnd);
t += "<br>redirectStart : "+(now - performance.timing.redirectStart);
t += "<br>redirectEnd : "+(now - performance.timing.redirectEnd);
t += "<br>fetchStart : "+(now - performance.timing.fetchStart);
t += "<br>domainLookupStart : "+(now - performance.timing.domainLookupStart);
t += "<br>domainLookupEnd : "+(now - performance.timing.domainLookupEnd);
t += "<br>connectStart : "+(now - performance.timing.connectStart);
t += "<br>connectEnd : "+(now - performance.timing.connectEnd);
t += "<br>secureConnectionStart : "+(now - performance.timing.secureConnectionStart);
t += "<br>requestStart : "+(now - performance.timing.requestStart);
t += "<br>responseStart : "+(now - performance.timing.responseStart);
t += "<br>responseEnd : "+(now - performance.timing.responseEnd);
t += "<br>domLoading : "+(now - performance.timing.domLoading);
t += "<br>domInteractive : "+(now - performance.timing.domInteractive);
t += "<br>domContentLoadedEventStart : "+(now - performance.timing.domContentLoaded);
t += "<br>domContentLoadedEventEnd : "+(now - performance.timing.domContentLoaded);
t += "<br>domComplete : "+(now - performance.timing.domComplete);
t += "<br>loadEventStart : "+(now - performance.timing.loadEventStart);
t += "<br>loadEventEnd : "+(now - performance.timing.loadEventEnd);
document.getElementById("result").innerHTML = t;
}

サンプルを実行
[戻る]