0

以下は私が試し続けているコードです。私は基本的に、これを使用してGeneralGAでページを追跡しようとしています。次に、カテゴリ内のonClickイベントを追跡し、ファイル名の最後に1,2,3を自動的に生成するクラスを割り当てます。私は基本的に、Webサイト内のonClickファイルの追跡を合理化しようとしています。ページ上で追跡しようとしているすべてのファイルにonClickコードを手動で追加し続けたくありません。以下のコードの問題は何ですか?

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>

<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-35609953-1']);
  _gaq.push(['_trackPageview']);
  _gaq.push(['_trackEvent', 'Downloads', 'JPG', '/downloads/img/LowRes01.jpg']);


  (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>

<!-- GA track all onClicks -->

<script>
$(function(){
    $('.downloadsmall a').attr("onclick", function(i){
        var x='LowRes0'+(i+1)+'.jpg';
        return "_gaq.push(['_trackPageview', '/downloads/img/"+x+"'])";
        return "_gaq.push(['_trackEvent', 'Downloads', 'JPG', '/downloads/img/"+x+"'])";

    });
});​
</script>

<!-- End GA track all onClicks -->

<style>

#wrap {
    width: 940px;
    margin-left: 0 auto;
}

#left {
    width: 50%;
    float: left;
}

#right {
    width: 50%;
    float: right;
}

.downloadsmall {
height: 50px;
width: 200px;
border: 3px dotted #333;
}


</style>

</head>

<body>

    <div id="wrap"><!-- Wrap -->

    <div id="left">

<p class="downloadsmall">
    download: <a href="http://www.google.com">Low Res</a>
</p>

    </div>

  <div id="right">

<p class="downloadsmall">
    download: <a href="http://www.yahoo.com">Low Res</a>
</p>

    </div>
    </div><!-- Wrap -->

更新しました - -

以下は、Jasperの応答ごとに更新されたコードです。(ありがとう!)私はそれを持っていて、それがどのように解決するかを見るのを待っています。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>

<!-- GA track all onClicks -->

<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-35609953-1']);
  _gaq.push(['_trackPageview']);
  _gaq.push(['_trackEvent', 'Downloads', 'JPG', '/downloads/img/"+x+"']);


$(function(){
    $('.downloadsmall a').on("click", function(){
        var theHREF = $(this).attr('href'),
            myGAQ   = _gaq || [];
        myGAQ.push(['_trackPageview', theHREF]);
        myGAQ.push(['_trackEvent', 'Downloads', 'JPG', theHREF]);

    });
});

</script>

<!-- End GA track all onClicks -->
4

1 に答える 1

2

イベントハンドラから文字列を返していますが、実際には何もしません。代わりに、コードを通常どおり実行してください。また、return関数から何かを取得すると、関数の実行が停止するため、2番目の関数returnも実行されません。

これを試して:

$(function(){
    $('.downloadsmall a').on("click", function(i){
        var x     = 'LowRes0'+(i+1)+'.jpg',
            myGAQ = _gaq || [];
        myGAQ.push(['_trackPageview', '/downloads/img/' + x]);
        myGAQ.push(['_trackEvent', 'Downloads', 'JPG', '/downloads/img/' + x]);

    });
});​

このコードは実際にGA_gaqオブジェクトにアクセスし、ページビューとイベント追跡ビーコンを作成するように要求しています。

iただし、イベントハンドラーの引数は実際にはオブジェクトであり、インデックスではないため、コードは機能しないはずeventです(これはあなたが望むものであると私は想定しています)。リンクの実際のHREFを取得し、それを追跡データとして使用できます。

$(function(){
    $('.downloadsmall a').on("click", function(){
        var theHREF = $(this).attr('href'),
            myGAQ   = _gaq || [];
        myGAQ.push(['_trackPageview', theHREF]);
        myGAQ.push(['_trackEvent', 'Downloads', 'JPG', theHREF]);

    });
});​
于 2012-10-23T16:06:43.253 に答える