0

我正在查看一个朋友的脚本,他使用了 Google Analytics 跟踪代码:

var _gaq = [
        ['_setAccount', 'UA-XXXXXXXX-X'],
        ['_trackPageview']
    ];
    (function(d, t) {
        var g = d.createElement(t),
            s = d.getElementsByTagName(t)[0];
        g.src = ('https:' == location.protocol ? '//ssl' : '//www') + '.google-analytics.com/ga.js';
        s.parentNode.insertBefore(g, s)
    }(document, 'script'));

以这种方式(或类似的方式):

var SOMEOBJECT = {
    _gaq : [],
    account_code : "",

    ...

    init : function() {
        ...
    }

    ...

    _gaq.push(SOMEOBJECT.account_code);

    ...
}

以及更多代码来创建相同的跟踪代码,但以不同的方式(因为它需要在许多其他页面和各种东西上重复使用)。

这个想法是_gaq控制台中似乎不存在范围变量,因此 Analytics 没有收到任何数据。那么可能出了什么问题?抱歉没有更多代码,但这是我记得的,我很好奇为什么它不起作用(:

4

1 回答 1

1

您的代码的第一部分看起来不错……只是对普通 Google Analytics 异步代码的重构。

我不确定你的代码的第二部分......通常_gaq是一个全局对象初始化的东西

var _gaq = _gaq || [];

如果尚未初始化,则将全局初始化_gaq为数组。加载 Google Analytics 代码后,数组将替换为包含执行命令的方法的对象。push

查看_gaq 全局对象push方法的文档。

于 2012-09-11T15:10:42.803 回答