2013-02-08 68 views
1

我增加了谷歌Analytics跟蹤事件導航菜單鏈接,使用此代碼:傳遞變量作爲字符串參數gaq.push

(function ($) { 
    "use strict"; 
    $(function() { 
     $("body").on('click', '.menu-item a', function() { 
      var trackingCode = $(this).next(".ga-tracking"); 
      if (trackingCode.length > 0) { 
       var t1 = trackingCode.data("tracking-1"), 
        t2 = trackingCode.data("tracking-2"), 
        t3 = trackingCode.data("tracking-3"), 
        t4 = trackingCode.data("tracking-4"), 
        params = "'" + t1 + "','" + t2 + "','" + t3 + "'"; 
       _gaq.push([params]); 
      } 

     }); 
    }); 
}(jQuery)); 

你可以看到它在這裏工作:http://paulwp.com/blog/ 觸發代碼,點擊頂部黑色欄中的博客鏈接。

這是我的錯誤:

_gaq.push processing "'_trackEvent','Store_Outbound','Link_Click'" for args: "[]": 

Called method "'_trackEvent','Store_Outbound','Link_Click'" threw exception.TypeError: Cannot call method 'apply' of undefined 

,而它應該給這樣的:

_gaq.push processing "_trackEvent" for args: "[Store_Outbound,Link_Click]": 

想這是我建立與變量參數的方式,造成問題的

回答

2

您傳遞的值錯誤。這是有效的,你在做什麼:

_gaq.push(["a,b,c"]);

這是一個單元素的數組。

這是它應該是什麼樣子:

_gaq.push(["a","b","c"]);

這是一個多元素的數組。

所以基本上你需要做的

params = [t1,t2,t3]; 
_gaq.push(params); 

或只是把它們直接:

_gaq.push([t1,t2,t3]); 
+0

謝謝你的幫助 – paul 2013-02-08 17:53:19

相關問題