前端首屏检测时间的处理方案整理
ResouceTiming
通过Resource Timing API可以获取和分析应用资源加载的详细网络计时数据, 应用程序可以 使用时间度量标准来确定加载特定资源所需要的时间, 比如 XMLHttpRequest,
但是该 API 也存在其局限性:
ResouceTiming 在 iOS 11 以下版本并不支持
加载失败的资源不会被 ResouceTiming 收集
无法获取加载资源的内容,所以对于接口请求的retcode分析不能使用 ResouceTiming 来完成
这意味着,通过
ResourceTiming
API,你可以知道一个 XHR 或fetch
请求何时开始、何时结束,以及加载过程中的各个阶段所花费的时间,但你无法直接通过这个 API 分析请求返回的数据内容。这个限制的原因主要是出于安全和隐私的考虑。
ResourceTiming
API 的设计目的是为了让网站开发者能够测量和优化页面加载性能,而不是用来读取或分析具体的资源内容。如果
ResourceTiming
API 允许访问响应内容,那么它可能会被用来绕过同源策略,从而读取跨源资源的内容,这会引入安全风险。
加载失败的资源的收集
onerror()
当JavaScript运行时错误(包括语法错误)发生时,window会触发一个ErrorEvent接口的error事件,并执行window.onerror()。 当一项资源(如或