5

我正在尝试将 google 事件跟踪 api 实现到 html5 播放器中,但由于某种原因它不想工作。这就是我正在做的事情:

var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-myid-1']);
    _gaq.push(['_trackPageview']);
    (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com//u/ga_debug.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();


    if (typeof _gaq != undefined){
        _gaq.push(['_trackEvent', 'krusty-player', eventName, 'demo', 1]);
    }

我从谷歌文档页面复制了代码,所以我想它必须是正确的。在开发人员控制台中,我没有看到代码运行时发生任何 HTTP 请求,但是当我这样做时:

console.log(_gaq.push(['_trackEvent', 'krusty-player', eventName]));

每次调用这部分时,我都会得到一个计数器增加 +1。这里没有错误..

我也尝试使用:

_trackEvent('krusty-player', eventName);

这将返回错误“_trackEvent 未定义”

知道发生了什么吗?

4

2 回答 2

7

您是在 localhost 还是 Intranet 上进行测试?有关详细信息,请参阅未发送 Google Analytics GIF 请求
TLDR:默认情况下,不会为 localhost 服务器发出跟踪 GIF 请求。

关于_trackEvent is not defined: _trackEvent() 不是独立函数,需要通过 _gaq.push 调用

_gaq.push(['_trackEvent', category, action])

或通过 pageTracker 对象(旧样式,非异步分析)

pageTracker._trackEvent(category, action)
于 2012-08-29T16:13:43.450 回答
1

将操作绑定到_gaq.push事件上。

像 :

<span onClick="_gaq.push(['_trackEvent', EVENT_NAME, EVENT_ACTION, EVENT_DESCRIPTION]);">Click me</span>

并用普通/动态生成的文本重命名大写名称,它应该可以工作。

于 2012-08-29T13:10:31.923 回答