【发布时间】:2022-09-26 12:36:43
【问题描述】:
我在调试时注意到在我们的网站上尝试计算 TTFB 时看到了一些非常不正确的值,并意识到在某些浏览器选项卡中我得到的 performance.timeOrigin 的值不正确。
devtools 控制台的一些示例输出:
new Date()
> Mon Sep 19 2022 13:56:37 GMT-0500 (Central Daylight Time)
new Date(performance.timing.responseStart)
> Mon Sep 19 2022 13:56:14 GMT-0500 (Central Daylight Time)
new Date(performance.timeOrigin)
> Fri Sep 16 2022 21:39:16 GMT-0500 (Central Daylight Time)
您会注意到前两个值是正确的,而最后一个值是近 3 天前的值。这种不正确的行为在重新加载选项卡,甚至打开一个新选项卡并转到同一个域后仍然存在。
重新加载选项卡并检查performance.timeOrigin 将显示它像往常一样继续向前推进......但仍然是过去将近 3 天。
有趣的实验结果:
- 打开的初始选项卡是 example.com/a,显示错误
performance.timeOrigin - 打开一个全新的选项卡,转到 example.com/b 并
performance.timeOrigin仍然很糟糕。 - 然后我可以输入一个新的网址,例如 google.com,
performance.timeOrigin是正确的。 - 然后输入 example.com/c 和
performance.timeOrigin又不好了。我认为这可能与计算机休眠/睡眠有关,当时在 Chrome 中打开的任何域的 timeOrigin 都搞砸了,但不能完全确定。
关闭 chrome 并重新打开似乎已经解决了这个问题,但我想知道是否有人知道究竟是什么原因造成的?