有没有办法在jQuery中为标签/文本分配数字API结果?

时间:2012-03-01 09:31:56

标签: jquery google-analytics

我目前正在使用SlideDeck并报告要在Google Analytics中报告的已查看幻灯片编号。我想知道的(如果可能的话,老实说也不知道)是,如果幻灯片API报告特定的数字,我可以为其分配标签/文本吗?

我使用的代码是:

  $(document).ready(function() {
    $('#nextSlide').click(function() {
     $('.slidedeck').slidedeck().next({
        before: function(deck){
        // do nothing
        },
        complete: function(deck){
          var slideNumber = deck.current != null ? deck.current + ' - ' : '';
          _gaq.push(['_trackEvent', 'slidedeck', 'viewed slides', slideNumber + 'slide number']);
        }
      });
    });
  });

此操作会成功向Google Analytics报告以下内容: ' slidedeck' (类别),'查看幻灯片' (标签),' 1 - 幻灯片编号' (值,假设显示幻灯片1)。

我想要做的是为结果1,2,3等分配名称。

所以在我脑海里(这完全不是代码,因为我不知道如何处理这个问题,但是为了证明这种结果:

   var slideNumber = deck.current != null ? deck.current + ' - ' : '';
      if($(this).val() == '1'){ //function to report code as '1 - title example'}
});
      if($(this).val() == '2'){ //function to report code as '2 - title example'}
});   

因此GA事件跟踪代码将是:

_gaq.push(['_trackEvent', 'slidedeck', 'viewed slides', slideNumber + 'was viewed']);

提交带有以下标签的事件,假设查看了幻灯片1:

' slidedeck' (类别),'查看幻灯片' (标签),' 1 - 标题示例 - 被查看'

我很欣赏我模糊,并且要求很多 - 但是如果有人能够引导我朝着正确的方向前进,或者指出我需要调查的功能,那就是' d太棒了

修改

我已将此代码添加到脚本nnnnnn:

    $(document).ready(function() {
              var slideTitles = [ "Slide 0 title here",
                                  "Slide 1 title here",
                                  "Slide 2 title here"
                                ]; 
    $('#next').click(function() {
            $('.slidedeck').slidedeck().next({
        before: function(deck){
        // do nothing
        },
        complete: function(deck){
            var slideNumber = deck.current != null ? deck.current + ' - ' : ''; 
          _gaq.push(['_trackEvent', 'slidedeck', 'viewed slides', slideTitles[slideNumber] + 'was viewed']);
        }
      });

});

但我在Google Analytics中收到以下事件标签:' undefined已被查看'。

我没有得到(因为我是jQuery的新手!)是如何回应:

complete: function(deck){
          var slideNumber = deck.current != null ? deck.current + ' - ' : '';

绑定数组标题?

deck.current是来自slidedeck插件的API响应,只是给出当前查看的幻灯片的数值。

很抱歉感到痛苦!

1 个答案:

答案 0 :(得分:1)

您可以将标题放在数组索引(显然)是幻灯片编号的数组中:

var slideTitles = [ "Slide 0 title here",
                    "Slide 1 title here",
                    "Slide 2 title here",
                    ... ];

(如果没有幻灯片0,只需将空字符串作为占位符,以便其他索引对应正确的标题。)

然后在现有代码中,slideNumber只需说slideTitles[slideNumber]即可获得相应的标题。