[发明专利]一种实现script error监控和上报的方法在审
申请号: | 201910502340.7 | 申请日: | 2019-06-11 |
公开(公告)号: | CN110245050A | 公开(公告)日: | 2019-09-17 |
发明(设计)人: | 刘强 | 申请(专利权)人: | 四川长虹电器股份有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F11/36 |
代理公司: | 四川省成都市天策商标专利事务所 51213 | 代理人: | 刘渝 |
地址: | 621000 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 异常信息 上报 捕获 监控 报错信息 后台服务器 错误对象 错误监控 错误信息 设置请求 用户体验 重要一环 资源加载 未处理 运行时 中间层 构建 页面 解析 修复 传递 配套 优化 发现 | ||
1.一种实现Script error监控和上报的方法,其特征在于,包括:
步骤S100:捕获异常信息,所述异常信息包括JS运行时的错误、未处理Promise错误、资源加载异常错误和接口错误;
步骤S200:将捕获的异常信息上报至收集平台,具体包括:
步骤S210:当捕获到异常信息时,首先是构建错误对象,再将异常信息传递给接口,所述错误对象包含errorMessage、scriptURI、lineNo、columnNo和stack属性;
步骤S220:新建一个XMLHttpRequest类的对象xhr,然后利用xhr的open函数发送给node中间层,将open函数中需要请求的方式设置为post;
步骤S230:设置请求头,进行跨源通信,捕获具体报错信息,并发送给服务器进行处理;
步骤S240:对象xhr调用send函数,将所述步骤S210中构建的错误对象发送给服务器;
步骤S250:采用source-map插件进行sourceMap解析并定义post接口,获取前端传过来的错误信息且压缩文件路径;
步骤S260:通过前端传过来的异常文件路径获取服务器端map文件地址,然后将压缩后的行列号传递给sourceMap返回的promise对象解析具体报错信息,将异常信息上报至后台服务器。
2.根据权利要求1所述的一种实现Script error监控和上报的方法,其特征在于,所述步骤S100具体包括:
采用window.onerror监控和函数window.addEventListener('error')捕获JS运行时的错误类型,其中window.onerror含有详细的error信息error.stack;
采用函数window.addEventListener('unhandledrejection')捕获未处理promise错误;
采用window.addEventListener('error')捕获资源加载异常错误;
采用封装xmlHttpRequest或者fetch函数捕获全局的接口错误。
3.根据权利要求1所述的一种实现Script error监控和上报的方法,其特征在于,所述步骤S230具体包括:
步骤S231:为页面上script标签添加crossorigin属性,增加crossorigin属性后,浏览器将自动在请求头中添加一个Origin字段,发起跨来源资源共享请求,Origin向后台服务端表明了请求来源,服务端将根据来源判断是否正常响应;
步骤S232:响应头中增加Access-Control-Allow-Origin来支持跨域资源共享;
步骤S233:定义域名的Access-Control-Allow-Origin的响应头中需带上Vary:Origin,所述Vary字段用于为缓存服务器提供缓存规则及缓存筛选的依据;
步骤S234:捕获到具体的报错信息。
4.根据权利要求1所述的一种实现Script error监控和上报的方法,其特征在于,所述步骤S260具体包括:构建一个错误信息对象,所述错误信息对象包含报错信息、报错文件路径、报错文件行号、报错文件列号和报错堆栈属性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川长虹电器股份有限公司,未经四川长虹电器股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910502340.7/1.html,转载请声明来源钻瓜专利网。