gpt4 book ai didi

javascript - 如何使用 javascript 或 angular2 读取浏览器错误?

转载 作者:可可西里 更新时间:2023-11-01 02:39:17 24 4
gpt4 key购买 nike

我需要将这些错误附加到后端的日志文件中。这些错误不会在 angular2 中捕获。如何读取这些错误? Browser console snapshot

最佳答案

如本 MDN article 中所述,您可以在 window.onerror 事件处理程序中捕获 Javascript 运行时错误,并在用 window.addEventListener("error", fn, true)< 定义的捕获事件处理程序中捕获资源加载错误.

服务可以设置这些事件处理程序并将错误记录在数组中。您可以在需要时将数组的内容发送到服务器。该服务可能如下所示:

export class ErrorLogService {

private errors = new Array<any>();

constructor() {
let that = this;
window.onerror = function (msg, url, lineNo, columnNo, error) {
let string = msg.toLowerCase();
let substring = "script error";
if (string.indexOf(substring) > -1) {
console.log("Script Error: See Browser Console for Detail");
} else {
that.errors.push({
message: msg,
url: url,
line: lineNo,
column: columnNo,
error: error
});
}
return false;
};
window.document.addEventListener("error", (event: ErrorEvent) => {
if (event.target && (event.target as any).src) {
let url = (event.target as any).src;
this.errors.push({
message: "Resource not found",
url: url
});
} else {
this.errors.push({
message: "Unknown error",
error: event
});
}
}, true);
}
}

错误检测机制可以在 this jsfiddle中测试.

关于javascript - 如何使用 javascript 或 angular2 读取浏览器错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43802042/

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