Navigation Timing API
コード
var perf = performance.timing;
console.log("load elapsed sec: " + (perf.loadEventStart - perf.navigationStart) + "sec");
実行結果
High Resolution Timing API
コード
performance.now();
実行結果
Page Visiblity
document.addEventListener('visibilitychange', function(event) {
if (document.hidden) {
console.log("document is invisible");
} else {
console.log("document is visible");
}
});
実行結果
別のタブにフォーカスを切りかえるとイベントが発生します
Resource Timing API
コード
setTimeout(function () {
var img = performance.getEntriesByType("resource")[0];
var ttfb = parseInt(img.responseStart - img.startTime),
total = parseInt(img.responseEnd - img.startTime);
$("#4_result").text("Time To First Byte:"+ ttfb + "\n" + "Total Time: " + total);
}, 2000);
実行結果
Performance Timeline
コード
performance.getEntries()[0];
実行結果
Battery Status
コード
var battery = navigator.battery || navigator.webkitBattery || navigator.mozBattery || navigator.msBattery;
console.log(JSON.stringify(battery, null, 4));
実行結果
Chromeでは実行結果確認できず
Beacon
コード
navigator.sendBeacon("http://twainy.github.io/tuning-blog/webperformanceapi.html", "beaconmessage");
Beaconを送信しているだけなので出力なし
<