前端首屏检测时间方案


前端首屏检测时间的处理方案整理

ResouceTiming

ResouceTiming API 文档

通过Resource Timing API可以获取和分析应用资源加载的详细网络计时数据, 应用程序可以 使用时间度量标准来确定加载特定资源所需要的时间, 比如 XMLHttpRequest, , 图片, 或者脚本。 Resource Timing API为网络事件(如重定向的开始和结束事件, DNS查找的开始和结束事件, 请求开始, 响应开始和结束时间等)生成有高分辨率时间戳( high-resolution timestamps )的资源加载时间线, 并提供了资源大小和资源类型。

但是该 API 也存在其局限性:

  • ResouceTiming 在 iOS 11 以下版本并不支持

  • 加载失败的资源不会被 ResouceTiming 收集

  • 无法获取加载资源的内容,所以对于接口请求的retcode分析不能使用 ResouceTiming 来完成

    这意味着,通过 ResourceTiming API,你可以知道一个 XHR 或 fetch 请求何时开始、何时结束,以及加载过程中的各个阶段所花费的时间,但你无法直接通过这个 API 分析请求返回的数据内容。

    这个限制的原因主要是出于安全和隐私的考虑。ResourceTiming API 的设计目的是为了让网站开发者能够测量和优化页面加载性能,而不是用来读取或分析具体的资源内容。

    如果 ResourceTiming API 允许访问响应内容,那么它可能会被用来绕过同源策略,从而读取跨源资源的内容,这会引入安全风险。

加载失败的资源的收集

onerror()

当JavaScript运行时错误(包括语法错误)发生时,window会触发一个ErrorEvent接口的error事件,并执行window.onerror()。 当一项资源(如

评论
  目录