资源计时API在移动设备上无法正常运行

问题描述

我想在一个简单的http请求上测量TTFB(到第一个字节的时间)。 我正在使用以下代码段:

    let url = "https://fonts.gstatic.com/l/font?kit=KFOmCnqEu92Fr1Me4GZNCzcPK4I&skey=a0a0114a1dcab3ac&v=v20";
    let res = await fetch(url,{
      headers: {
        'Cache-Control': 'no-cache','Timing-Allow-Origin': '*'
      }
    });
    await res.text()
    let entries = performance.getEntriesByName(url);
    let perf = entries.slice(-1).pop();
    console.log(perf)
    console.log(perf.responseStart - perf.requestStart)

现在在桌面浏览器上运行此命令可获得以下结果:

screenshot

我可以看到它计算的TTFB约为5ms

但是,在移动设备上运行相同的内容会产生以下结果:

mobile screenshot

因此,似乎所有条目都获得相同的值,并且计算出的TTFB始终为0。为什么?有什么方法可以测量手机中的TTFB

我的系统的信息:

  • 计算机

macbook info

  • 台式机浏览器:Chrome版本86.0.4240.111(官方内部版本)(x86_64)我也尝试过Safari和Firefox。

  • 电话:iPhone 11 Pro

  • 电话浏览器:我已经在Safari和Chrome浏览器中进行过尝试。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)