我不知道之前是否曾经问过这个问题,但是我想要做的是从浏览器本身的错误控制台获取数据(如果它支持它),这将是用户发送时的数据错误报告它会解决与我网站上的页面相关的任何错误,例如代码中的拼写错误以及其他某种方式可以解决的问题.此外,在这方面有没有办法将错误从控制台传递到可用的格式?如果这是不可能的,那么我可以告诉他们复制和粘贴网站本身的内容.
我现在想到了这一点,因为我正在考虑如何使错误报告系统运行得更好,因为整个事情基本上是在浏览器中运行而对于后端我可以很容易地只查看错误日志但是对于前端即javascript位事情并非如此轻松.
因此,要在一个小语句中完成所有这一切,有一种简单的方法从错误控制台获取数据并能够通过javascript发送到表单或类似的东西.
我有一个基于javascript的富Internet应用程序,该javascript通过ajax \ https(s)请求与Web服务器通信,在这里我使用一些外部javascript库(例如qooxdoo)。由于此外部库可以编写错误消息,并且我希望在开发人员工具中没有打开错误控制台的情况下注意到它们,因此我需要通过JavaScript代码在客户端错误控制台(Chrome 47.0)上自动收集错误消息,以将其发送回到网络服务器以进行控制。
为此,我使用如下代码:
var origFunc = console.error
console.error = function(){
// special stuff
if(origFunc) {
origFunc.apply(console, arguments);
}
}
Run Code Online (Sandbox Code Playgroud)
我在代码中的这个钩子中注意到了许多错误,但是当发生net :: ERR_INTERNET_DISCONNECTED错误时,却没有注意到。我在chrome错误控制台中看到了错误,但是未调用方法“ console.error”。
在chrome开发人员工具内部,可以通过将网络设置为离线来轻松重现此错误:chrome网络限制为离线
我什至尝试了以下方法:
此解决方案均无法捕获net :: ERR_INTERNET_DISCONNECTED错误消息。
我如何注意到net :: ERR_INTERNET_DISCONNECTED错误消息?BOM表对象之一(控制台,窗口,导航器等)中是否存在某些函数或事件,可以在其中添加事件侦听器或挂钩函数以捕获此错误消息?