1. ホーム
  2. javascript

307 Chromeでanalytics.jsを読み込むとリダイレクトされる

2023-08-31 11:54:13

質問

私はウェブアプリを構築しており、分析に Google Analytics (analytics.js) を使用しています。 最近、Analytics が Chrome で適切に動作していないことに気づきました。

私は、別のモジュールで標準のコード スニペットを使用して分析をロードし、requirejs を介してインクルードしています。 このスクリプトが期待どおりに実行され、分析スニペットが実行されることを確認しました。

Firefox でネットワーク トラフィックを検査すると、分析スクリプトが期待どおりに Google から読み込まれることがわかります (HTTP 200 応答)。

しかし、Chrome でまったく同じページを実行すると、about:blank を指す HTTP 307 レスポンスが返され、analytics は実行されません。

しかし、AnalyticsのURLをChromeのアドレスバーに直接貼り付けると、スクリプトが見つかります。 ここで何が起こっているのか、またはそれを修正する方法について何か考えがありますか?

どのように解決するのですか?

307 Internal RedirectNon-Authorative-Reason: Delegate は、Chrome拡張機能によってリクエストが傍受され、変更(リダイレクト)されたことを示します。 webRequest または 宣言的な webRequest 拡張APIがあります。

どの拡張機能がリダイレクトのトリガーとなったかは、以下のように調べることができます。

  1. 訪問 chrome://net-internals/#events
  2. リクエストのトリガー(あなたの場合、google analytics)。
  3. に戻り chrome://net-internals/#events タブに戻り、リクエストに一致する URL_REQUEST を探します (検索ボックスを使って検索を絞り込むことができます)。
  4. エントリーをクリックすると、右側にログが表示されます。拡張機能名、拡張機能 ID、およびリクエストに関するその他の情報が表示されます。
t=7910 [st=0] +REQUEST_ALIVE [dt=6]です。
t=7910 [st=0] +URL_REQUEST_DELEGATE [dt=5]です。
t=7910 [st=0] DELEGATE_INFO [dt=5]です。


                   --> delegate_info = "拡張子 [拡張子の名前]"。
t=7915 [st=5] CHROME_EXTENSION_REDIRECTED_REQUEST
                   --> extension_id = "ebmlimjkpnhckbaejoagnjlgcdhdnjlb"


t=7915 [st=5] -URL_REQUEST_DELEGATE
t=7915 [st=5] +URL_REQUEST_START_JOB [dt=1]です。
                 --> load_flags = 339804160 (BYPASS_DATA_REDUCTION_PROXY | MAYBE_USER_GESTURE | REPORT_RAW_HEADERS | VERIFY_EV_CERT)
                 --> method = "GET"
                 --> priority = "LOW"


                 --> url = "https://www.google-analytics.com/analytics.js"


t=7915 [st=5] URL_REQUEST_REDIRECT_JOB
                   --> reason = "Delegate"。


t=7915 [st=5] URL_REQUEST_FAKE_RESPONSE_HEADERS_CREATED
                   --> HTTP/1.1 307 内部リダイレクト
                       場所:about:blank
                       非認証的-理由 代議員

このログサンプルでは、名前 "[拡張機能名]" と拡張機能 ID "ebmlimjkpnhckbaejoagnjlgcdhdnjlb" による拡張機能がリクエストをリダイレクトしています。拡張機能名および/または拡張機能IDを見つけたら、次のサイトにアクセスします。 chrome://extensions にアクセスし、リクエストを変更した拡張機能を無効にするか削除してください。