2

Chrome 的 Lighthouse 工具和 WebPageTest 提供“交互时间”(TTI)指标。

Google 提供了 TTI 的最小定义

交互时间被定义为布局稳定、关键网络字体可见并且主线程足以处理用户输入的时间点。

请注意,此指标处于早期阶段,可能会发生变化。

WebPageTest将它们分为“首次交互时间”和“持续交互时间”

是时候进行一致的交互式计算了

  • 开始在第一个内容绘制或加载的 DOM 内容中的较大者处寻找 TTI
  • 查找第一个交互窗口,其中有 5 秒的连续时间段完全包含在交互窗口中,并且不超过 2 个进行中的请求
  • TTI 是从步骤 2 开始的交互式窗口或搜索起点,以较晚者为准

第一次交互式计算

  • 开始在第一个内容绘制或加载的 DOM 内容中的较大者处寻找 TTI
  • 查找第一个交互式窗口,其中有 5 秒的连续时间段完全包含在交互式窗口中,无论进行中的请求数量如何
  • TTI 是从第 2 步开始的交互式窗口的起点或搜索起点,以较晚者为准

我想在客户端计算 WebPageTest 的两个不同 TTI 指标并将它们发送回 API(用于RUM目的)。

当前的 JavaScript API 是否可以进行这样的计算?如果是这样,怎么做?

更新:

我还没有找到令人满意的客户端解决方案,但我找到了更深入的 TTI 定义

4

1 回答 1

2

GoogleChromeLabs 为TTI metric 提供了一个 polyfill

浏览器最终将通过内置 API 公开指标:

注意:此代码段是临时解决方法,直到浏览器实现性能观察者规范的第 2 级并包含该buffered标志。

于 2018-04-17T17:32:47.880 回答