立即领取|华润集团、宁德核电、东风岚图等 20+ 标杆企业数字化人才培养实践案例 了解详情
写点什么

JavaScript Error Recorder 使用户可以在浏览器中直接报告缺陷

  • 2014-08-29
  • 本文字数:1396 字

    阅读完需:约 5 分钟

Bogomil Shopov 和 Robert Nyman 发布了 Usersnap Console Recorder ,该套件用于 web 项目可视化标注式的交流(通过截屏)。

针对最终用户缺乏缺陷跟踪技术和经验这样的特点,Usersnap 将目标定为让用户能够以可视化的方式直接在浏览器中轻松地报告缺陷。为此,控制台对 JavaScript 错误进行了记录,以向修复缺陷的负责人提供所有必需的信息,包括 console.log 信息和元信息。

在《 JavaScript Error- and XHR Log Recording With Every Bug Report 》这篇文章中,Shopov 说:

每个错误或日志包括一个与网络时间协议(NTP)同步的时间戳,完整的信息包括 JavaScript 源文件和行号,你可能已经对 Firebug 的开发者控制台有所了解了,它格式与之是比较类似的。

每个由 console.log、console.info、console.warn 或者 console.error 发布的调试日志都已经得到恰当地格式化(包括递归对象或数组的格式化和浏览)。

Shopov 接着举了一个例子:

在页面滚动时,可以通过使用一个固定元素的 top 属性让其他的元素与之保持对齐。然而,由于标签重写了,元素#inexistent 已经不存在了。这就导致 offset() 方法返回 null,属性 top 也就不能再访问了:

复制代码
function clicky() {
console.info("Accessing a property of an undefined object");
console.log("calculating scroll top %d", $('#inexistent').offset().top);
};

Usersnap Console Recorder 的 JavaScript 日志会显示如下内容:

JavaScript 社区对这款控制台有各种不同的反应。在 Reddit 上对 Usersnap(缺陷报告的圣杯)的讨论中,用户 workaholicanonymous 对之大加赞赏,说道:

毫不夸张地说,我今天上午正在思考这些东西的开发呢。说真的,谢谢你们。

但在 Reddit 上的其他地方,在对 Web 开发者的强力王国。耶酥受难日的解读! 的讨论中,一些用户还不太清楚 Usersnap 的控制台提供的好处。用户 X1R0n 评论说

你用免费的 Google Analytics( http://davidwalsh.name/track-errors-google-analytics )也能实现同样的效果。

Usersnap 的共同创立者 Gregor Dorfbauer 回复了不同的意见,

那实际上没有什么可比性。Google Analytics 解决方案只是收集随机的 JavaScript 错误和 jQuery 的 XHR。

你看不到用户的完整会话,正如你要在用户的浏览器上打开开发者控制台,根本不要想“看过去的信息”。它和浏览器的完整截屏配合在一起使用可以很轻松地再现和解决问题。

还有些人担心隐私问题。用户 codepsycho

我本人是不会用它的,我的项目工作受保密协议的约束(所以实际上 Usersnap 保存所有的截屏并不是太理想的方式)

Shopov 向 InfoQ 回应了这个疑问,说:

虽然我们把截屏存放在了我们的服务器上,但它们会得到充分的保护。如果客户端有安全方面的需要,我们会通过以安全通道传送的方式去集成合作伙伴(比如 Trello、Kanbanize、Basecamp)甚至是客户的服务。我们可以保证只让客户能够看到这些截屏和数据,除了客户其他人谁都看不到。

客户也可以在任何时间要求删除所有的截屏:我们尊重我们的客户以及访问者的隐私。

Usersnap 与开源社区是一种开放的关系,并为源项目提供免费的许可证。Shopov 说,Usersnap 团队也非常有兴趣从InfoQ 的用户这里得到反馈意见,很希望听你们谈谈Usersnap 如何使你们的生活变得更加的便利,如何使你们的工作变得更加的高效,如何使你们可以快乐地享受工作。

查看英文原文: JavaScript Error Recorder Lets Users Report Bugs in Browser

2014-08-29 00:111430

评论

发布
暂无评论
发现更多内容

智慧路灯杆三维可视化管理系统

2D3D前端可视化开发

物联网 智慧城市 智慧路灯 智慧灯杆 智慧路灯杆

Seata-go TCC 设计与实现

阿里巴巴云原生

阿里云 云原生 TCC Seata-go

java异常体系

echoes

北京站丨云原生技术实践营邀请您参加!

阿里巴巴云原生

阿里云 云原生 实践营

火山引擎DataLeap数据调度实例的 DAG 优化方案(三):技术实现

字节跳动数据平台

大数据平台 数据检索 DataLeap

加速信创生态建设 焱融科技与优炫软件完成兼容性互认证

焱融科技

文件存储 高性能存储 #分布式存储

自动驾驶成为汽车产业未来趋势,连接器行业迎来进一步发展

华秋电子

救命稻草!阿里P8耗时5月打造的架构师速成手册,千金难求

程序知音

Java 分布式 java架构 Java进阶 后端技术

软件测试/测试开发丨Python学习笔记-继承与多态

测试人

Python 软件测试 自动化测试 测试开发

四川省信创联盟2023年第一次理事会顺利召开,MIAOYUN荣获“信创企业优秀奖”!

MIAOYUN

信创 信创云 金融信创 信创产业 信创生态

数据驱动运营增长

MobTech袤博科技

Amazon CodeWhisperer代码提示——Golang测评

衝鋒壹号

云原生产品免费试用领取攻略,看看有哪些新玩法?

阿里巴巴云原生

阿里云 云原生

企业敏捷开发的三种落地实践途径

力软低代码开发平台

虚拟显示器软件:BetterDisplay Pro 激活Mac版

真大的脸盆

Mac Mac 软件 显示器校准软件

从“0”到“1”!低代码开发和云计算的碰撞,引领数字化转型浪潮!

加入高科技仿生人

云计算 低代码 数字化 数智化

@广州 智在粤港澳,Serverless 为创新提速

阿里巴巴云原生

阿里云 Serverless 云原生

构建系列之webpack窥探下

江湖修行

前端 Web webpack cli

智能的支柱:算法

TiAmo

算法 动态规划 分治 回溯算法 分支限界

软件测试/测试开发丨Python 常用数据结构-字典

测试人

Python 软件测试 自动化测试 测试开发

BSN-DDC基础网络详解(十二):算力中心开发者门户部署说明(1)

BSN研习社

inBuilder今日分享丨智能化开发的现状与未来

inBuilder低代码平台

为什么 GPU 能够极大地提高仿真速度?

思茂信息

gpu 仿真软件 计算机硬件 仿真技术

如何通过Java代码将 PDF 转为 HTML 格式

在下毛毛雨

Java html PDF 文档转换

中移链合约常用开发介绍(五)合约项目编译

BSN研习社

全网独一份微服务架构深度解析,连京东师哥都熬夜也要看完

小小怪下士

Java 程序员 微服务架构

涨姿势了!分享一个简单好用的源码调试方法

Java永远的神

程序员 程序人生 后端 jdk源码 架构师

含“AI”量超高!那些正在改变潮水方向的人丨创业邦2023年新青年创投榜单重磅发布

创业邦

记一次redis主从切换导致的数据丢失与陷入只读状态故障

程序员小毕

数据库 redis 程序员 程序人生 后端

AIGC持续火爆大模型争相推出,庞大市场造就算力供应模式演变

王吉伟频道

nvidia 算力 AI大模型 AIGC 生成式AI

关于大型语言模型的争论和局限

OneFlow

自然语言处理 AI大语言模型

JavaScript Error Recorder使用户可以在浏览器中直接报告缺陷_开源_James Chesters_InfoQ精选文章