3

ページの読み込みにかかる時間を取得しようとしていますが、このスクリプトを実行する正しい方法がわかりません。

私はこれができると思った:

window.addEventListener("load", function(){
    console.log(performance.getEntriesByType("navigation")[0].duration);
});

ただし、常に 0 を返します。

後でコンソールで実行すると、正常に動作します。ウィンドウの読み込みイベントの後に実行される別のイベントはありますか? この関数の正しい使い方は何ですか?

編集: setTimeout を使用すると、ページが完全に読み込まれた後に実行される最初のものとして追加されるようです。作業コードは次のとおりです。

window.addEventListener("load", function(){    
    setTimeout(function(){
        console.log(performance.getEntriesByType("navigation")[0].duration);
    }, 0);
});
4

2 に答える 2