Fork me on GitHub

m-错误监控

错误监控

前端错误的分类

即时运行错误:代码错误

资源加载错误

错误的捕获方式

即时运行错误

  • try…catch
  • window.onerror

资源加载错误

  • object.onerror
    资源加载错误事件不会冒泡,只会在本身 object 报错事件进行相应
  • performance.getEntries()
    获取所有资源的加载地址
  • Error 事件捕获
1
2
3
window.addEventListener('error',function(e){
console.log('捕获',e)
},true)

跨域资源加载错误

  • 客户端:在 script 标签增加 crossorigin 属性
  • 服务器:设置 JS 资源响应头 Access-Control-Allow-Origin:*

上报错误的基本原理

  • 使用 Ajax 通信进行上报

  • 利用 Image 对象上报

1
2
let errors = 'imgerror';
(new Image()).src = `http://www.kejiganhuo.com/test?error=${errors}`;
-------------本文结束感谢阅读-------------