vue中计算白屏时间、首屏加载时间

// 白屏时间
// Vite环境下Vue项目的main.js或入口文件中引入这段代码
if ("performance" in window) {
  const perf = performance;
  let fpTime;

  if (perf.getEntriesByName) {
    const entry = perf.getEntriesByName("first-paint")[0];
    if (entry) {
      fpTime = entry.startTime;
    }
  } else if (window.performance.timing) {
    // 对不支持Performance Paint Timing API的老版本浏览器,可以尝试使用navigationStart和firstPaint
    fpTime = perf.timing.firstPaintTime;
    // 若老版浏览器也不支持,则可考虑自定义测量方式,如设置pageStartTime
  }

  if (fpTime) {
    // fpTime即为白屏时间,需要转换为相对时间戳(相对于navigationStart)
    const whiteScreenTime = fpTime - perf.timing.navigationStart;
    console.log("白屏时间: ", whiteScreenTime.toFixed(2), "ms");
  }
}
// 首屏加载时间
// 计算First Contentful Paint (FCP)
let fcpTime;

if (perf.getEntriesByName) {
  const entry = perf.getEntriesByName("first-contentful-paint")[0];
  if (entry) {
    fcpTime = entry.startTime;
  }
}

if (fcpTime) {
  const firstScreenTime = fcpTime - perf.timing.navigationStart;
  console.log("首屏时间: ", firstScreenTime.toFixed(2), "ms");
}

用在main.js文件中

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猛男敲代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值