gpt4 book ai didi

javascript - 以有意义的方式捕获和记录 "bugfoot"javascript 异常

转载 作者:行者123 更新时间:2023-11-28 10:29:27 31 4
gpt4 key购买 nike

我们收到了一些关于结帐问题的报告,其中客户遇到 js 异常(我们假设),因此他们无法结帐。

无论我们使用多少个测试平台,我们都无法重现问题,但这就是练习的重点。

我设置了一个简单的错误捕获函数,它的工作原理是:

window.onerror = function(message, url, line, chr) {
new Request({
url: "/errorTrap.php",
data: {
m: message,
u: url,
l: line,
c: chr
},
method: "get",
onComplete: function() {
// perhaps save the rendered html source via a second POST request?
alert("done");
}
}).send();
return true;
};

果然,在一周内我就收到了 8 封有关异常捕获的电子邮件。

遗憾的是,结帐页面非常动态。它包含一些内联 javascript,其中很多是外部 .js 文件和类,还有一些是通过 ajax 响应评估 js。页面的长度根据购物篮中的商品、运输选项、地址簿信息等而有所不同。

这就是为什么在第 253 行看到异常“预期对象”意义不大,因为它不能帮助我理解哪个函数触发了异常,也不能提供与之相关的脚本 block /源代码的上下文。

我一直在考虑执行第二个 XHR 请求,该请求可以将 document.body 的innerHTML 删除到 ajax 处理程序,从而提供可能导致问题的相对行编号和内容。

这是我能做的唯一的跟踪改进吗?对于这个“外面”有什么解决方案吗?

这是演示异常处理的 jsfiddle http://www.jsfiddle.net/dimitar/8hqrY/

最佳答案

嗯,调试问题总是这样。要么去那里,实际看到问题,然后使用调试工具解决它,要么获取证据、猜测、获取更多证据等等,夏洛克·福尔摩斯风格:^)

除了 DOM 树之外,您还可以获取 JS 堆栈跟踪:A Javascript stacktrace in any browser .

关于javascript - 以有意义的方式捕获和记录 "bugfoot"javascript 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3520859/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com