【问题标题】:Reporting document-wide Javascript errors报告文档范围的 Javascript 错误
【发布时间】:2023-04-07 01:56:02
【问题描述】:

我需要一种方法来记录文档中可能发生的所有 Javascript 错误。显然,对日志脚本的 Ajax 调用是没有问题的,但是 window.onerror 事件不会因函数内部的错误或在浏览器或 Web 开发人员工具栏会报告错误的某些其他情况下触发。

我宁愿不使用 try/catch,因为很多地方都有很多代码,我想要一个能够报告所有 Javascript 错误的文档范围的解决方案。

这甚至可能吗?我看到很多知名网站都有 Javascript 错误,显然很多开发人员要么不关心,要么不知道这些错误。

【问题讨论】:

  • 你可以通过浏览器来做这个浏览器吗?例如 chrome 中的控制台对象可能会给你一个列表?
  • 逐个浏览器是什么意思?如何访问 Chrome 上的控制台对象中的错误?
  • getfirebug.com/wiki/index.php/… - 似乎没有做你想做的事。不确定它是否可能

标签: javascript


【解决方案1】:

首先,如果我误解了您的问题和您的资格,对不起。

看来你对DeveloperTools 不熟悉,最好是这样:) 例如,在Chrome 中你可以通过按F12 或Ctrl+Shift+J 打开DeveloperTools。您之前和即将发生的所有 JavaScript 错误都会在发生时显示在“控制台”选项卡中。

【讨论】:

  • 是的,你误会了。 :) 我希望页面报告站点访问者可能发生的 Javascript 错误 - 然后页面捕获错误,通过 Ajax 将其发送到脚本,脚本向我发送一封电子邮件,告诉我“访问者刚刚#someline 上的页面 'someurl' 上的 Javascript 错误 'someerror' 以及他们的用户代理。我确实做了所有这些,它适用于一些 Javascript 错误,但不适用于大多数(例如那些内部函数),因为 window.onerror 不会捕获这些错误。
【解决方案2】:

实际上可以进行 一些 自动 try-catch 插入,您无需更改代码。这并不容易。

你可以试试我的项目 Muscula,logs JavaScript errors 插入了 try-catch 并在不可能时返回 onerror。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-11
    • 1970-01-01
    • 2011-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-07
    • 2018-08-25
    相关资源
    最近更新 更多