👺

ChromeでAjaxエラーのときconsoleに表示されるエラー文言を非表示にしたい

2022/02/16に公開

概要

Ajaxでエラーが発生した際、consoleに401 (Unauthorized)403 (Forbidden)といったエラーが表示されます。

こういうやつ↑

これを非表示にしたいという要望がありました。

結論

Chrome(Webkit?)の仕様なので無理
https://stackoverflow.com/questions/41515732/hide-401-console-error-in-chrome-dev-tools-getting-401-on-fetch-call
https://bugs.chromium.org/p/chromium/issues/detail?id=124534
https://bugs.webkit.org/show_bug.cgi?id=37215

Currently, if a resource fails to load, we only show this in resource's headers tab. Since a failure to load a resource is likely to lead to a noticeable change in page behavior, I suggest we be more explicit about this, e.g. log an error message to console. This will lead to an error bubble being displayed against resource's icon in the resource list, and provide a hint to developers even in case resource tracking is not enabled.
現在(2010年)、リソースの読み込みに失敗した場合は、ヘッダータブにのみ表示されます。リソースの読み込みに失敗すると、ページの動作に顕著な変化が生じる可能性があるため、これについてより明確にすることをお勧めします(例:エラーメッセージをコンソールに出力)。これにより、リソースリスト内のリソースのアイコンに対してエラーが表示され、リソーストラッキングが有効になっていない場合でも、開発者にヒントが提供されます。

議論の結果コンソールにエラーが表示された方が好ましいとされ、そういう仕様になったようです。

対策

どうしてもエラーを見せたくない場合は直後にconsole.clear()でクリアしましょう。
(その代わり、Console was clearedという文言が出てきてしまうが……)

Discussion