在 chrome 开发工具中隐藏 401 console.error 在 fetch() 调用中得到 401 [重复]

Posted

技术标签:

【中文标题】在 chrome 开发工具中隐藏 401 console.error 在 fetch() 调用中得到 401 [重复]【英文标题】:Hide 401 console.error in chrome dev tools getting 401 on fetch() call [duplicate] 【发布时间】:2017-05-21 19:24:01 【问题描述】:

我有一些代码用于进行 fetch 调用。这利用了现代 chrome / firefox 中内置的 window.fetch api。

代码有时会遇到 401:unauthorized 响应。这是正常的,我希望它被忽略,我可以通过代码流来做到这一点。但是,当我尝试运行 Chrome 时,它​​会显示难看的 console.error 消息。

如何以编程方式防止此控制台错误显示在所有机器的开发控制台中(即,没有 chrome 开发过滤器或 tampermonkey 类型插件)。

这里有一个示例:

fetch("http://httpstat.us/401", requiredStatus: 'ok')
    .then(function() 
        console.log("pass!");
    ).catch(function() 
        console.log("fail!");
    );

【问题讨论】:

根据***.com/questions/14337351/…,可能无法以编程方式 谢谢,可悲的是我相信是这样的 您可以随时在 fetch 中使用 console.clear(),然后捕获函数,但这会使您在控制台中丢失任何内容。不确定这是否是您想要的。以后的任何控制台语句都可以正常工作。 @gargsms 我喜欢你的聪明才智 :) 但在这种特殊情况下,这听起来像是一个可怕的黑客要求你的代码无法维护。 也许这可以帮助你***.com/a/43061415/4831179 【参考方案1】:

不幸的是,这无法做到,因为控制台中的这种类型的消息是由 chrome 本身打印的。压制这种类型的信息已经争论了多年,但共识似乎是这种信息是可取的 - see this discussion。

以防万一您有兴趣:根据this comment,我们看到此消息的原因是因为对资源检索请求的响应进行了评估,并且消息是在上下文级别发送的。

从本质上讲,chrome 的编写方式不允许我们更改此效果,因此我们会收到错误消息。

【讨论】:

为了好玩,我找到了写此消息的代码行:cs.chromium.org/chromium/src/third_party/WebKit/Source/core/… 我已经给了它@szymek,但你的回答真的很有趣,而且 szymek 也没有对复选标记提出答案:) @joepin 链接已失效。 :(

以上是关于在 chrome 开发工具中隐藏 401 console.error 在 fetch() 调用中得到 401 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

POST 请求返回 401 Unauthorized(仅在 Chrome 中)

jquery $.ajax 在 Chrome 或 Firefox 中调用会导致 401 未经授权的响应,但在 IE 中有效

如何在 chrome 开发工具中隐藏 html 注释?

Chrome 为 manifest.json 提供 401 错误

login.do提交时如何使表单密码数据隐藏在Chrome开发者工具网络面板中?

干货 | 解锁Chrome开发工具的隐藏功能