0

document.ready() 関数から Google アナリティクス コードを追加する方法を見つけようとしています。次のコードは機能しません。

$(document).ready(function () {
             var _gaq = window._gaq || [];
                 _gaq.push(['e._setAccount', 'UA-XXXZZ-1']);
                 _gaq.push(['e._setDomainName', 'company.com']);
                 _gaq.push(['e._trackPageview']);
                 _gaq.push(['a._setAccount', 'UA-XXXYY-1']);
                 _gaq.push(['a._setDomainName', 'company.com']);
                 _gaq.push(['a._trackPageview']);

                 (function() {
                       var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                       ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                       var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                 })();      
}); 

解決策は何ですか?head タグ内に ga.js ファイルへのリンクを作成するコードを入れることはできますが、問題は解決しますか?

ありがとう

4

3 に答える 3

1

次のセットアップは問題なく動作するようです: ページ ヘッドに次のスクリプトを追加すると、すぐに実行されます。

<script type="text/javascript">
  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();
</script>

ドキュメントの準備ができたら、トラッキング コードを追加します。

 $(document).ready(function () {
      var _gaq = window._gaq || [];
      _gaq.push(['e._setAccount', 'UA-XXXZZ-1']);
      _gaq.push(['e._setDomainName', 'company.com']);
      _gaq.push(['e._trackPageview']);
      _gaq.push(['a._setAccount', 'UA-XXXYY-1']);
      _gaq.push(['a._setDomainName', 'company.com']);
      _gaq.push(['a._trackPageview']); });
于 2013-07-19T11:50:11.730 に答える
0

別の質問があなたのために答えます.masadiは正しい道を歩んでいました:

ドキュメントready関数は、_gaq変数のスコープが制限されすぎていることを意味します。ga.js の残りの Google スクリプトを実行すると、変数が見つかりません。_gaqものをグローバルスコープ(他の関数の外または使用)に移動することによりwindow.gaq、変数を見つけることができます。

文書化する唯一の利点はready、分析を実行する前に DOM が完全であることを確認できることです。私にとってこれは、スクリプトが<title>設定される前に呼び出されたためであり、それ以外の場合は空白のタイトルが表示されていました。

于 2014-11-08T23:13:18.213 に答える
0

$(document).ready(function(){ を削除

ドキュメント準備終了タグ => });

google analytic がサイドドキュメントの準備機能で動作しないため

于 2013-07-19T09:16:43.960 に答える