0

Navigation Timing API を使用して、ページから読み込みイベントを取得しています。情報を出力するために、以下に JS のスニペットを追加しました。1つおかしいことに気がついたのは、コンソールを確認しloadEventEndた時間よりも早く時間が戻ってきたことです。loadEventStart私はそれが可能であってはならないと思うでしょう。

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);
4

1 に答える 1

1

あなたのケースの詳細はわかりませんが、NavigationTiming APIは IE、Chrome、Firefox、Opera にとってかなり新しいものです。ブラウザーでの仕様と実装の開発中に、ブラウザー間のさまざまな実装の違いにより、上記のような多くの小さなバグが見られました。

あなたが見たバグは、最近のブラウザ バージョンで修正されている可能性があります。実行中のブラウザーで引き続き問題が発生する場合は、NavigationTiming の W3C webperf テスト ケースを試して、何かが失敗するかどうかを確認できます。

于 2014-01-14T15:07:33.217 に答える