1. ホーム
  2. アジャックス

[解決済み】一部のAJAXコールで "net::ERR_BLOCKED_BY_CLIENT "エラーが発生する。

2022-03-24 07:44:46

質問

最近、一部のアドブロッカー拡張機能(adBlocker plusなど)が、一部のAjax呼び出しをブロックしていることに気づきました。コンソールでこのエラーが表示されます。

GET http://localhost/prj/conn.php?q=users/list/ net::ERR_BLOCKED_BY_CLIENT 

なぜ、あるAjaxの呼び出しはブロックされるが、他の呼び出しはブロックされないのか、その原因は何ですか?ユーザーにアドブロッカーをオフにするよう伝える以外に、回避策はありますか?

解決方法を教えてください。

AdBlockerは通常、何らかのルールを持っています。つまり、URIと何らかの式を照合します(DOMと式を照合することもありますが、この場合、重要ではありません)。

小さなテキスト(URI)だけを操作するルールや式は、誤検出を起こしやすいのですが...。

拡張機能を無効にするようユーザーに指示する以外に(少なくともあなたのサイトでは)、拡張機能を入手して、どのルール/式があなたのものをブロックしたかをテストすることもできます(拡張機能がその詳細について十分に説明している場合)。犯人を特定したら、別のURIを使ってルールのトリガーを回避するか、そのルールを作ったチームに不正確または過度に広範であると報告するか、あるいはその両方を行うことができます。 その方法については、特定のアドオンのドキュメントを確認してください。

例えば、AdBlock Plusには ブロック可能な項目 ビューは、ページ上のすべてのブロックされた項目と、ブロックをトリガーしたルールを表示します。また、これらの項目にはXHRリクエストも含まれます。