【问题标题】:How to prevent errors from reaching the console?如何防止错误到达控制台?
【发布时间】:2013-08-25 22:50:08
【问题描述】:

...在 Safari 中

我已经尝试过 preventDefault 和 stopPropagation 但都不起作用。

        window.addEventListener("error", function (event) {
            if ( event.target.tagName === 'IMG' ) {
                event.target.src = 'fake_path';
                // event.preventDefault();
                // event.stopPropagation();
            }
        }, true);

请注意,我已将捕获设置为 true。也许这与它有关。

这是一个错误示例:(它的左侧有一个带有感叹号的红色小图标)

加载资源失败:服务器响应状态为 404 (未找到)

【问题讨论】:

  • 有可能根本做不到。为什么要这样做,你的用例是什么?
  • 您无法捕捉和隐藏该错误。这是开发者工具的一项功能。
  • 我可以使用 try/throw/catch...这样可以。
  • 资源加载错误是网络错误,不是 JavaScript 错误,因此无法被 JavaScript 捕获。
  • @Smurfette:对于 404,你会怎么做?

标签: javascript


【解决方案1】:

我认为您的错误是开发工具的一部分,而不是原生 JavaScript。您可以使用window.onerror 捕获错误。这篇文章更详细地介绍了错误捕获。

http://mattsnider.com/window-onerror-event/

【讨论】:

  • OP 显然理解事件错误。然而,浏览器在捕获后表现不同。有的在控制台报错,有的不报。
猜你喜欢
  • 2017-06-16
  • 1970-01-01
  • 2020-12-16
  • 2016-03-12
  • 1970-01-01
  • 1970-01-01
  • 2021-10-14
  • 2017-08-17
  • 1970-01-01
相关资源
最近更新 更多