Fundebug前端JavaScript插件更新至1.2.0
摘要: Fundebug的前端JavaScript错误监控插件更新至1.2.0:支持监控WebSocket连接错误;修复了监控unhandledrejection错误的BUG,即未用catch处理的Promise错误;以及一些其他优化。请各位用户及时更新插件!
监控WebSocket连接错误
现在,WebSockect的应用场景越来越多。比如,Fundebug的首页有展示累计处理错误的数量,目前是6亿+。这个数据是后台实时计算,然后通过WebSocket返回给前端的。顺便吐槽一下,某友商的统计方式比较诡异,断网之后数字居然还在更新!我想原因大家都懂的:)
假设正确的WebSocket地址是wss://api.fundebug.com/api/events/count,若地址不小心弄错了,
var ws = new WebSocket("wss://ap.fundebug.com/api/events/count"); ws.onerror = function(event) { console.log("WebSocket onerror") }
则WebSocket连接显然会出错:
WebSocket connection to 'wss://ap.fundebug.com/api/events/count' failed: Error in connection establishment: net::ERR_SOCKS_CONNECTION_FAILED
Fundebug插件可以自动捕获这样的报错,发送到我们的后台服务器,并且第一时间给开发者发送报警。另外,Fundebug的报错并不影响WebSocket的错误处理回调函数onerror的执行。Fundebug控制台截图如下:
修复监控unhandledrejection错误的BUG
unhandledrejection错误,即未使用catch处理的Promise错误。Fundebug很早就支持监控unhandledrejection错误,但是由于插件BUG,全部unhandledrejection错误都显示为caught error。对此,我们非常抱歉,这次我们修复了这个BUG,感谢Fundebug用户-zWing的反馈!
测试代码:
Promise.reject("test unhandledrejection")
浏览器控制台会出现报错:
Uncaught (in promise) test unhandledrejection
Fundebug插件可以自动捕获这样的报错,发送到我们的后台服务器,并且第一时间给开发者发送报警。Fundebug控制台截图如下:
新增silentDev配置属性
如果您不需要收集开发环境中的错误,则可以将silentDev属性设为true。这样的话,Fundebug不会收集开发环境的错误,生产环境的错误仍然会正常收集。注意,我们是通过页面的URL来区分生产环境和开发环境的,当URL中含有localhost或者IP时,判断为开发环境,否则判断为生产环境。
- 在HTML中配置
<script>
标签中配置silentDev属性
<script src="https://js.fundebug.cn/fundebug.1.2.0.min.js" apikey="API-KEY" silentDev=true></script>
- 在JavaScript中配置silentDev变量
fundebug.silentDev = true;
当silentDev设为true时,Fundebug不再收集开发环境的错误。
修复silentVideo配置属性BUG
Fundebug插件支持录屏功能,可以帮助开发者更加形象地复现BUG,这个功能领先所有国内外同类产品!但是,由于该功能实现非常复杂,还有2个不大不小的BUG尚未修复:
- DOM操作过多的话录屏功能会影响页面性能,造成卡顿。
- 图片验证码会重复加载,导致验证一直失败。
这2个BUG正在修复,因此,我们暂时注释了录屏功能。将silentVideo属性设为false即可启用录屏功能。
但是,将fundebug.silentVideo设为false时,会发现没有效果,这是我们插件的BUG,1.2.0版本已经修复。
如果希望体验录屏功能的话,将silentVideo属性设为false即可。如果,你需要在生产环境中使用录屏,请评估一下2个BUG是否会对您的应用造成影响。对此如果您还有疑问,欢迎联系Fundebug客服!
另外,我们还对插件代码进行了一些其他优化,此处不再赘述。
参考
- Fundebug文档 - JavaScript插件版本
- Fundebug文档 - JavaScript插件配置属性silentDev
- Fundebug文档 - JavaScript插件配置属性silentVideo
- Fundebug博客 - 黑科技!Fundebug支持可视化重现出错场景
关于Fundebug
Fundebug专注于JavaScript、微信小程序、微信小游戏、支付宝小程序、React Native、Node.js和Java实时BUG监控。 自从2016年双十一正式上线,Fundebug累计处理了6亿+错误事件,得到了Google、360、金山软件等众多知名用户的认可。欢迎免费试用!
版权声明:
转载时请注明作者Fundebug以及本文地址:
https://blog.fundebug.com/2018/08/21/fundebug-javascript-1-2-0/
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
浅谈JavaWeb项目代码如何分层
代码分层,对于任何一个Java Web开发来说应该都不陌生。一个好的层次划分不仅可以能使代码结构更加清楚,还可以使项目分工更加明确,可读性大大提升,更加有利于后期的维护和升级。 从另外一个角度来看,好的代码分层架构,应该是可以很好的匹配上单一职责原则的。这样就可以降低层与层之间的依赖,还能最大程度的复用各层的逻辑。本文就来介绍下Java Web项目的代码到底应该如何分层。 三层架构 在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或称为领域层)、表示层。这也是Java Web中重要的三层架构中的三个层次。区分层次的目的即为了“高内聚低耦合”的思想。 所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即把这三个层放置到一台机器上。 数据访问层 主要是对非原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,...
- 下一篇
自己手写一个SpringMVC框架(简化)
Spring框架对于Java后端程序员来说再熟悉不过了,以前只知道它用的反射实现的,但了解之后才知道有很多巧妙的设计在里面。如果不看Spring的源码,你将会失去一次和大师学习的机会:它的代码规范,设计思想很值得学习。我们程序员大部分人都是野路子,不懂什么叫代码规范。写了一个月的代码,最后还得其他老司机花3天时间重构,相信大部分老司机都很头疼看新手的代码。 废话不多说,我们进入今天的正题,在Web应用程序设计中,MVC模式已经被广泛使用。SpringMVC以DispatcherServlet为核心,负责协调和组织不同组件以完成请求处理并返回响应的工作,实现了MVC模式。想要实现自己的SpringMVC框架,需要从以下几点入手: 一、了解SpringMVC运行流程及九大组件 二、梳理自己的SpringMVC的设计思路 三、实现自己的SpringMVC框架 一、了解SpringMVC运行流程及九大组件 1、SpringMVC的运行流程 ⑴ 用户发送请求至前端控制器DispatcherServlet ⑵ DispatcherServle...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题