我正在嘗試獲取加載頁面所需的時間,但我不確定運行此腳本的正確方法。
我以為我可以這樣做:
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);
});
uj5u.com熱心網友回復:
您還可以輪詢設定的值:
const perf = () => {
const duration = performance.getEntriesByType("navigation")[0].duration;
if (!duration) setTimeout(perf, 0);
else console.log({ duration });
}
window.addEventListener('DOMContentLoaded', perf);
uj5u.com熱心網友回復:
您可以使用瀏覽器提供的性能 API 獲取加載時間
let loadTime = window.performace.timing.loadEventEnd - window.performance.timing.navigationStart;
查看https://developer.mozilla.org/en-US/docs/Web/API/Navigation_timing_API了解更多
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/367618.html
標籤:javascript html 表现 事件 导航计时 API
