Chrome - devtools 时间线中的事件时间与性能时间之间的差异 API

Chrome - Difference between event time in devtools timeline and performance timing API

我正在尝试在控制台中获取 loadEventEnd 时间。你可以通过 performance timing 2 API or performance timing API 来完成。 通过计算我得到了相同的结果:

performance.getEntriesByType("navigation")[0].loadEventEnd
// 483.915
chrome.loadTimes().finishLoadTime * 1000 - chrome.loadTimes().startLoadTime * 1000 
// 484
performance.timing.loadEventEnd - performance.timing.navigationStart
// 484

但是在 devtools 的时间轴选项卡中我得到结果 510 ms。 区别如图:

这个问题发生在其他站点上:在控制台中,我得到的时间总是比在“时间轴”选项卡中的时间短。 有人可以解释这种差异吗? 哪一次是真实的?

正如@Dragomok 在评论中建议的那样:

navigation-timing-apinavigationStart 事件开始记录。性能选项卡时间线在 navigationStart 事件之前开始记录 "some time",这就是为什么 performance.getEntriesByType("navigation")[0].loadEventEnd 在时间线中给出的值小于 loadEventEnd 的原因。

如果您计算时间轴 loadEventEnd - navigationStart,您将得到与 navigation-timing-api 相同的值。

图片为证: