- 前端错误的分类
- 错误的捕获方式
- 上报错误的基本原理
常见问题:如何保障产品质量?/如何检测js错误?
前端错误的分类
- 即时运行错误:代码错误
- 资源加载错误,如js/css文件
错误的捕获方式
- 即时运行错误的捕获方式
1)try...catch
2)window.onerror -
资源加载错误(这一类型错误不会冒泡,这也是为什么window.onerror只能捕获即时运行错误,而不能捕获资源加载错误的原因)
1)object.onerror(如图片,script加载的错误)
2)(亮点!)performance.getEntires()返回的是一个数组
输出的都是加载成功的资源。
再通过该方法获取所有图片集合,减去上面加载成功返回的图片,剩下的就是加载失败的图片了。
3)Error事件捕获(亮点!)
虽然资源加载错误的事件不会冒泡,但是可以捕获。
设为true,捕获阶段监听,执行。script里是一个不存在的文件,
-
衍申:跨域的js运行错误可以捕获吗?错误提示什么?应该怎么处理?
上报错误的基本原理
1.采用Ajax通信的方式上报(少用)
2.利用Image对象上报(常用,重点)