# 前端错误监控以及上报

# 1.前端错误分类:

  • 即时运行错误:代码错误
  • 资源加载错误
  • 对于跨域的代码运行错误会显示 Script error. 对于这种情况我们需要给 script 标签添加 crossorigin 属性,并且服务器添加Access-Control-Allow-Origin

# 2.即时运行错误捕获

  • (1)try ....catch
  • (2) window.onerror 或者 window.addEventListener 记住事件捕获阶段获得,不是冒泡阶段

# 3.资源加载错误

  • (1)object.onerror,如img.onerror
  • (2)performance.getEntries (getEntries api返回一个资源加载完成数组,假设为img,再查询页面中一共有多少个img,二者的差就是没有加载上的资源)
  • (3)Error事件捕获

# 4.错误如何上报

  • (1)ajax
  • (2)image的src上报
  • (new Image()).src = '错误上报的请求地址'
  • 一般来说,大厂都是采用利用image对象的方式上报错误的;使用图片发送get请求,上报信息,由于浏览器对图片有缓存,同样的请求,图片只会发送一次,避免重复上报