- 错误监控类有两种问法:一种是直接问你如何监控JS错误,一种是问你如何保证产品的质量
- 前端错误分类
- 即时运行错误(代码错误)
- 资源加载错误
- 错误的捕获方式
- 即时运行错误捕获方式
- try ... catch
- window ... onerror
- 注意:window ... onerror 无法捕捉到资源加载错误,因为资源加载错误是无法冒泡儿到window上去的
- 资源加载错误捕获方式
- object.onerror(图片可以,script标签也是)
- performance.getEntries() 它会获取所有已加载资源的时长,通过这种方式可以间接的拿到没有加载资源的错误
performance.getEntries().forEach(item=>{console.log(item.name)}) - Error 事件捕获: 在window上通过事件捕获来截资源加载错误,注意在函数上里要加上一个true,不然就是冒泡儿啦
- 延伸: 跨域JS 运行错误可以捕获吗?错误提示是什么?应该怎么处理?
答:可以捕获错误,但是不能拿到相应的具体错误信- 在script 标签增加crossorigin 属性
- 设置JS 资源响应头 Acess-Controal-Allow-Origin:*
- 即时运行错误捕获方式
- 上报错误的基本原理
- 采用Ajax 通信的方式上报
- 利用Image 对象上报(这是最主要的,也是最常用的方式)