2017-12-24 9 views
0

私のウェブページにiframeがあります。このiframeには多くの選択肢を含むフォームが含まれています。ロードタイムを短縮するため、このiframeはdocument.readyの後にjqueryでロードされます。今、フォームのボタンがクリックされたかどうかを確認したいと思います。ウェブページ内のGoogleアナリティクスでイベントをトラッキングすることはできますが、フォーム内のイベントをトラッキングする場合は、iframeに読み込まれたファイルにanalytics.jsを含める必要があります。イベントトラッキング:analytics.jsのダブルロードを防止する方法

問題:iframeイベントトラッキングは機能しますが、analytics.jsが2回ロードされ、すべてのページリクエストが2回カウントされます。

この問題を解決するために、analytics.jsが既に読み込まれていないかどうかをチェックして、二重読み込みを防止しますが、これは小さなタイムアウトで行う必要があります。タイムアウトは、すべてのユーザーの利用可能な帯域幅に依存し、すべてのユーザーに対して固定ではありません。同じことがdocument.readyにも当てはまります。 jqueryのは、どのように私は、二重負荷のanalytics.jsなしiframeのイベントを追跡することができますdocument.ready

後にロードされているので

トラッキングコードは、HTMLファイル内に含まれることができませんか?

+0

GAコードではアナリティクスライブラリが2回読み込まれることはありません(少なくとも、デバッガーの言うとおりです)。これを防ぐための組み込み関数があるようです。また、ブラウザは同じファイルをキャッシュしているので、影響がどれくらい大きいかわかりません。 –

答えて

0

analytics.jsファイルに2回ロードされている問題があります。あなたの質問に答えるために、私はいくつかの指針を確立したいと思います。

Googleアナリティクスはどのようにデータを収集しますか?

Google Analyticsがレポートにすべての情報を提供するために使用するデータは、これらのソースから来ている:ユーザーの

HTTPリクエストbrowser/system情報は First-party cookies

もう一つのポイントです、 document.ready()は、ドキュメント全体がロードされるまでスクリプトが実際にロードされないようにします。したがって、私はあなたに以下の手順を踏むようアドバイスします。それは完全に動作するはずです。

  • htmlのbody closingタグの直前にanalytics.jsファイルを配置します。
    <script src="analytics.js"></script> </body>
  • document.ready()機能を削除し、内部スクリプトをanalyticsスクリプトタグの直前に配置します。

これにより、ダブルロードが防止され、リロードせずにスクリプトが効果的に実行されます。

PS。それが動作しない場合、私はあなたのコードを見たいと思います。しかし、それは完全に動作するはずです。

関連する問題