码迷,mamicode.com
首页 > 其他好文 > 详细

前端错误监控总结

时间:2018-08-27 21:59:24      阅读:383      评论:0      收藏:0      [点我收藏+]

标签:htm   nbsp   代码   info   监控体系   cti   分享   pre   前端   

【要点】

1. 前端错误的分类

2. 错误的捕获方式

3. 上报错误的基本原理

 

【总结】

1. 错误分类


  • 运行时错误,代码错误
  • 资源加载错误

 

2.捕获方式


  • 代码错误捕获

    •   try ... catch:
      try {
          console.log("欢迎光临!");
      }
      catch(err) {
          document.getElementById("xxx").innerHTML = err.message;
      }
    •   window.onerror
      1 window.onerror = function(){
      2 
      3     console.log(error msg);
      4 
      5 }
  • 资源加载错误  (不会冒泡到window, 这也是window.onerror捕获不到的原因)
    • object.onerror:img标签、script标签都可以添加onerror事件,用来捕获资源加载错误;
    • performance.getEntries():可以获取所有已加载资源的加载时间,通过这种方式,可以间接的拿到没有加载的资源错误。
    • Error事件捕获:资源加载错误,虽然会阻止冒泡,但是不会阻止捕获。true:捕获,false:冒泡

  技术分享图片技术分享图片

 

  【延申】

         跨域js运行错误也是可以捕获到的,但是拿不到具体的信息,比如:出错行号、出错列号,错误详情等,这种问题应该怎么处理呢?

   分两步:

  • 1.在script标签上增加crossorigin属性;
  • 2.设置js资源响应头Access-Control-Allow-Origin:*;(也可以设置特定的域名) 这样就可以拿到具体的错误信息了

 

3.上报错误的基本原理


1. 利用Ajax通信的方式上报

2.利用Image对象上报 (推荐的方式) 是大部分浏览器的监控体系选择的方法

技术分享图片

 然后在network中就可以看到发送了请求

技术分享图片

前端错误监控总结

标签:htm   nbsp   代码   info   监控体系   cti   分享   pre   前端   

原文地址:https://www.cnblogs.com/hyzm/p/9543676.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!