前端数据监控与异常捕获

5 篇文章 0 订阅
1 篇文章 0 订阅

随着前端的能力越来越强大,前端的重担也越来越大,许多在本地调试ok的功能,到了别人的手机或电脑上总是莫名其妙的出现问题,今天谈论的就是前端监控中的一小部分,异常捕获。
如何手机端的功能越来越多,但是手机端确一直都很难调试,更是很难捕获到别人操作的信息。

全局监听错误信息

window.onerror = function(msg, url, lineno, clono, stack){
	//msg: 错误信息,如aaa is not undefined
	//url 错误指向的页面
	// lineno 报错行,这个在拿到数据之后特别有用
	// clono: 报错列 
	//stack  错误栈
}

将手机到的数据上报到服务器,必须要有一个添加接口

	var formdata = new FormData()
	formdata.append('cloNo',clono)
	formdata.append('lineNo',lineno)
    formdata.append('errorMsg',msg)
    formdata.append('errorPage',url.split('file:///')[1].split(' ')[0])
    var pageParam = JSON.parse(api.getGlobalData({key: 'loginInfo'}));
    formdata.append('operUser', pageParam.username)
    // 日志上报,一般在unload的时候发送
    window.navigator.sendBeacon('http://yyzztest.inteink.com/api/vuelog/add',formdata)

数据上报用到的核心功能是 window.navigator.sendBeacon(方法可用于通过HTTP将少量数据异步传输到Web服务器),该功能接受四种数据类型, ArrayBufferView,Blob,DOMString 或 Formdata,用/formData格式进行传输用的更多一些,就是上面的这种方法,便于在后台管理中查询到对应的字段进行分析,其他的三种类型目前还没有用到过,之后可以自行研究一下。

数据监控不仅可以异常捕获,还可以进行性能分析(window.performance),资源加载情况等数据分析,监控别人操作页面对一些异常捕获以及完善自己的项目真的起到了非常大的作用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值