Google Analytics:_gaq.push来自其他阵列的多个项目

时间:2011-04-06 15:58:06

标签: javascript google-analytics

我很想将多个项目推送到_gaq.push()进行谷歌分析。

我有一个Ids数组,我循环创建数组传递给.push();

var gaDetails = new Array();
var productIdsArray = productIds.split(",");
for(var i = 0; i < productIdsArray.length; ++i)
    gaDetails.push(['_trackEvent', 'Quote', '' + step, '' + productIdsArray[i]]);

_gaq.push(gaDetails);

看起来每个数组周围都有一组额外的[]。也许我没有看到一些东西,但谷歌描述他们的语法看起来错了吗?

2 个答案:

答案 0 :(得分:3)

你不需要另一个阵列,当你在它时,你也可以使用更快的循环。

var productIdsArray = productIds.split(","),
    i = productIdsArray.length;

while(i--)
{
   _gaq.push(['_trackEvent', 'Quote', '' + step, '' + productIdsArray[i]]);
}

答案 1 :(得分:0)

正如Ryan的评论所述,谷歌鼓励通过一次调用_gaq.push推送多个命令

如果有一个命令数组并希望将它们全部添加到_gaq,则可以通过

实现
_gaq.push.apply(_gaq, gaDetails);

Javascript push array values into another array

获得线索

对于性能来说,用每个元素调用_gaq.push可能很好。