首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将变量作为字符串参数传递给gaq.push

将变量作为字符串参数传递给gaq.push
EN

Stack Overflow用户
提问于 2013-02-09 00:45:33
回答 1查看 542关注 0票数 1

我正在向导航菜单链接添加一个Google Analytics跟踪事件,代码如下:

代码语言:javascript
复制
(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/要触发代码,请单击顶部黑条中的博客链接。

这是我得到的错误:

代码语言:javascript
复制
_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 

然而,它应该给出这样的东西:

代码语言:javascript
复制
_gaq.push processing "_trackEvent" for args: "[Store_Outbound,Link_Click]":  

我猜是我用变量构建参数的方式导致了这个问题

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-09 00:53:58

您传递的值是错误的。这实际上就是您正在做的事情:

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

这是一个只有一个元素的数组。

它应该是这样的:

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

这是一个包含多个元素的数组。

所以基本上你需要做的就是

代码语言:javascript
复制
params = [t1,t2,t3];
_gaq.push(params);

或者直接将它们放入:

代码语言:javascript
复制
_gaq.push([t1,t2,t3]);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14777360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档