【问题标题】:performance.timeOrigin returning a date in the pastperformance.timeOrigin 返回过去的日期
【发布时间】: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 天。

有趣的实验结果:

  1. 打开的初始选项卡是 example.com/a,显示错误 performance.timeOrigin
  2. 打开一个全新的选项卡,转到 example.com/b 并 performance.timeOrigin 仍然很糟糕。
  3. 然后我可以输入一个新的网址,例如 google.com,performance.timeOrigin 是正确的。
  4. 然后输入 example.com/c 和 performance.timeOrigin 又不好了。

    我认为这可能与计算机休眠/睡眠有关,当时在 Chrome 中打开的任何域的 timeOrigin 都搞砸了,但不能完全确定。

    关闭 chrome 并重新打开似乎已经解决了这个问题,但我想知道是否有人知道究竟是什么原因造成的?

    标签: performance google-chrome


    【解决方案1】:

    我在 Chrome 105 上也遇到过同样的事情,只是它与 iframe 内容中的 timeOrigin 隔离。但看起来您关于休眠的假设似乎是正确的 - 请参阅 5 天前在 Chromium 错误跟踪器上打开的以下错误:

    https://bugs.chromium.org/p/chromium/issues/detail?id=1365808&q=timeOrigin&can=2

    【讨论】:

      猜你喜欢
      • 2020-03-09
      • 2013-01-23
      • 2021-11-13
      • 2017-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多