转载请注明出处:http://www.cnblogs.com/shamoyuu/p/zhuge_error.html

一、什么是诸葛io

诸葛io就是通过分析用户的操作事件对用户数据,行为路径等进行分析的一个数据分析工具。

可以看一下官方的demo,https://demo.zhugeio.com/apppanel/panel.jsp?app_id=35510

二、诸葛io怎么用

首先需要进行初始化,非常简单,先注册登录创建一个app,然后找到下面这段js,把它添加到项目的base.js或者common.js文件里,保证每个页面都可以用到。

诸葛只有track和identify两个常用方法,

track方法就是触发事件,它有3个参数,第一个参数的事件名,第二个参数是事件属性,第三个参数是回调函数,例如

zhuge.track('购买手机', {'手机' : '小米4','价格' : 1799,'运营商' : '移动'
}, function(){console.info('发送事件成功')
);

identify方法是让用户“登录”到诸葛,这样就可以把这个用户所有的事件绑定在用户身上了,事件不再是独立的。它也有2个参数,第一个是用户id(也可以是用户的其他唯一标识),第二个是用户的属性,第三个参数是回调函数,例如

zhuge.identify('0202033', {name: '张三',//预定义属性gender: '男',//预定义属性'行业': '互联网' //自定义属性
},
function() {location.href = 'http://www.xxx.com/index.html'; //执行用户标识成功后的代码,比如跳转页面
});

identify事件只用调用一次就好了,不必每个页面都调用。

三、用诸葛io收集js报错

我们通过上面第二部分的内容知道了诸葛有个track方法,可以收集事件,我们就用它来收集我们的js报错事件。

window有个方法onerror,默认是null,如果页面有js报错就会触发它(必须不是trycatch里的,也不能被框架拦截掉)

它有6个参数,分别是errorMsg-简单的报错信息, errorFile-报错的文件, errorLine-报错在哪一行, errorColumn-报错在哪一列, errorData-报错的完整信息

然后我们重写这个方法就好了

window.onerror = function(errorMsg, errorFile, errorLine, errorColumn, errorData){try{errorData = errorData || {};errorFile = errorFile || "";track("代码异常", {errorMsg: errorMsg,errorFile: errorFile.split("?version")[0], //因为js文件加了版本号,所以需要去掉
            errorLine: errorLine,errorData: errorData.stack //errorData里的stack才是详细报错信息
        });}catch(e){}
}

然后就ok了,部署上线坐等代码报错(好像哪里不对)

这里一定要加trycatch,否则onerror里再报错就不好了

如果用了什么框架,这个onerror可能不会执行,可以修改框架源码报错的处理方法。

四、必要性

就是做上面这些是否真的有必要。

好吧,我以前对自己的代码非常自信,我觉得报错不大可能,因为每个页面的功能都正常,怎么可能报错,但现实是。。。

14号上线,15号一天接近4500个报错,十几种报错类型。。。。

完结,散花

转载于:https://www.cnblogs.com/shamoyuu/p/zhuge_error.html

【前端】诸葛io收集前端js报错信息相关推荐

  1. three.js 报错信息 RGBELoader.js:46 RGBELoader Bad File Format: bad initial token

    three.js 报错信息 RGBELoader.js:46 RGBELoader Bad File Format: bad initial token 原因:模型的路径错误 实现: 备注:之前是使用 ...

  2. php js 报错信息,JavaScript中错误异常的分析(附示例)

    本篇文章给大家带来的内容是关于JavaScript中错误异常的分析(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 我的建议是不要隐藏错误,勇敢地抛出来.没有人会因为代码出现 ...

  3. 如何处理前端js报错——容错处理的汇总

    在工作和实践中,总会遇到图片,,等的路径找不到.当然能够找到是极好的,但如果图片或某些文件写在被封装压缩整理过的js中,其实就是两种情况,跨域或不跨域 1)跨域,请求的img失败,没有显示,显示本地默 ...

  4. 前端代码 Jenkins 线上打包报错:TypeError: StackFrame is not a constructor

    两个月没来公司上班,今日开工遇到一个及其有意思的问题:Jenkins 线上打包前端代码,在控制台日志中打包的时候报错: When setting `useBuiltIns: 'usage'`, pol ...

  5. Eclipse中导入项目后js报错解决方法

    Eclipse中导入项目后js报错的原因与解决方法 在我们将项目导入Eclipse后,配置好各种编译条件.加载好jar包.配置好tomcat后发现项目还是报错,(前提是项目本身并没有错误,而是我们在初 ...

  6. ie8 js未指明的错误_修复ueditor百度编辑器在IE8下shCore.js报错'undefined'错误的问题...

    ueditor在IE8下点击任意文本框报脚本错误 错误问题: 在IE8下出现脚本错误 'undefined' 为空或不是对象 的问题 出现问题的文件为: 行数:299行 文件路径:ueditor\th ...

  7. Eclipse和MyEclipse使用技巧--解决MyEclipse中的js报错的小方法

    今天,下了个模版,但是导进去的时候发现js会报错.看了下其他都没有错误.而有一个js报错误,请原谅我有点红色强迫症,不能留一点红色 . 错误如下: Syntax error on token &quo ...

  8. web-packwebpack .\src\main.js .\dist\bundle.js 报错

    (1)使用指令 web-pack>webpack .\src\main.js  .\dist\bundle.js  报错 (2).问题分析,wbpack版本太高,指令不一样.我的是v4.14.0 ...

  9. JS报错-Uncaught TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on...

    报错信息:Uncaught TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on stric ...

最新文章

  1. 使用zerotier让异地设备组局域网
  2. python手机版怎么弄-手把手教你如何使用Python向手机发送通知
  3. Css中图片局部放大,将图片中局部放大效果
  4. Android开发之原型图浏览器打开可点击跳转之Google插件之Axure(实际上大部分浏览器都可以安装这个插件)
  5. cat 几行_迷风花说Cat!Cat因为林教练是好教练回去现实却给了一巴掌
  6. 【JavaWeb】JDBC优化 之 数据库连接池、Spring JDBC
  7. 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败
  8. java笔记之字符串,字符串数组,ListString的相互转换
  9. Apache2 实现https访问http服务
  10. Mysql安装步骤:
  11. 在网易咔哒上面制作SCRATCH小程序
  12. 等保三级密码复杂度是多少?多久更换一次?
  13. 【联邦学习】综述《Advances and Open Problems in Federated Learning》论文结构
  14. 【爬虫】堆糖图片爬取
  15. nginx 屏蔽某些ip,防止有些人刷接口攻击
  16. maven deploy jar包和源码包到私服
  17. 升级sp1后文档无法编辑
  18. 干货!必看创意按钮设计,打造真正的按钮诱惑
  19. python3 接入IOS推送apn
  20. Python mongodb数据库

热门文章

  1. 网络编程(UDP/TCP)
  2. English Learning - Day24 作业打卡 2022.12.30 周五
  3. 自己建设网站需要做哪些准备
  4. Speedoffice(word)如何插入空白页
  5. 王者荣耀服务器信息共享,王者荣耀账号时长共享含义及作用解析
  6. MySQL数据库中有字段类型是日期,时间的插入语句处理
  7. php滚动加载分页,jQuery scroll事件实现监控滚动条分页实例详解
  8. 加密pdf文档不能实现复制操作
  9. 分类计数原理与分步计数原理_《分类计数原理与分步计数原理》优秀说课稿
  10. 【Aspose教程】Aspose.Words for .NET使用教程(三):支持的平台及文档格式转换