我正在使用以下代码向导航菜单链接添加Google Analytics跟踪事件:
(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]":
猜测这是我使用引起问题的变量构建参数的方式
答案 0 :(得分:2)
您传递的错误值。这实际上就是你在做的事情:
_gaq.push(["a,b,c"]);
这是一个包含单个元素的数组。
这应该是这样的:
_gaq.push(["a","b","c"]);
这是一个包含多个元素的数组。
所以基本上你需要做
params = [t1,t2,t3];
_gaq.push(params);
或直接将它们放入:
_gaq.push([t1,t2,t3]);