javascript - GA//通过生成唯一输出的类跟踪 onClick 事件?

标签 javascript jquery google-analytics

下面是我不断尝试的代码;我基本上只是想用它来跟踪 General GA 的页面;然后分配一个类来跟踪类别中的 onClick 事件,并在文件名末尾自动生成 1,2,3。我本质上只是想简化网站内 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 -->

最佳答案

您正在从事件处理程序返回一个字符串,它实际上不会执行任何操作。相反,只需正常运行代码即可。此外,一旦您从函数返回某些内容,该函数就会停止执行,因此您的第二个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 对象并要求其创建页面 View 和事件跟踪信标。

代码仍然不应该工作,因为事件处理程序中的 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]);

    });
});​

关于javascript - GA//通过生成唯一输出的类跟踪 onClick 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13034634/

相关文章:

jquery - 使用jquery计算一些表单字段

jquery - DataTables 中导出 CSV 的自定义值 (jQuery)

google-analytics - Google Analytics 用户浏览器获取用户报告

javascript - Google Tag Manager 如何从 dataLayer 中提取跟踪数据?

javascript - 如果只有 1 个部分,则宽度​​应调整为 100%,否则将以 50% 的宽度继续

javascript - 动态 iframe 内容返回源代码,而不是解析后的代码

javascript - 如何在html文本输入中只允许输入冒号分隔的2位数字?

javascript - <a> 标签上的打开文件对话框

javascript - 无法通过ajax将javascript变量传递给PHP?

javascript - Google Analytics api 查询结果缺少日期?