js错误诊断

由于Vue的错误拦截机制

window.addEventListener('error', function (e) {})

并不能监听到vue内部级别错误信息,退而求其次,利用vue本身错误监听函数进行vue内部级别错误信息的收集,并发送到自定义事件,利用自定义事件处理收集到的错误信息。

// 利用vue内部错误监听机制,监听错误,并发送给自定义事件cuowu
Vue.config.errorHandler = function (err) {
  var e = new Event('cuowu');
  e.arguments = err;
  window.dispatchEvent(e);
}


// 用来接收vue产生的错误
window.addEventListener('cuowu', function () {
  var arr = Array.prototype.slice.apply(arguments)[0].arguments;
  // 错误信息上报参数
  var obj = {
    message: arr.message,
    info: arr.stack
  };
  
  // 错误信息上报
  errorUpload(obj);
})

再利用

  // 外部错误信息收集设计cdn跨域请在script标签中加入跨域属性
  window.addEventListener('error', function (e) {
    // 错误信息上报参数
    var obj = {
      message: e.message,
      info: e.stack
    };
  
    // 错误信息上报
    errorUpload(obj);
  })

进行外部级别error进行错误监听,一个简单的vue错误上报系统完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

g2424173338

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值