0

我正在尝试捕获某些下载链接的点击并在 Google Analytics 中跟踪它们。这是我的代码

var links = document.getElementsByTagName("a");
for (var i = 0; i < links.length; i++) {
    linkpath = links[i].pathname;
    if( linkpath.match(/\.(pdf|xls|ppt|doc|zip|txt)$/) || links[i].href.indexOf("mode=pdf") >=0 ){
        //this matches our search
        addClickTracker(links[i]);
    }
}
function addClickTracker(obj){
    if (obj.addEventListener) {
        obj.addEventListener('click', track , true);
    } else if (obj.attachEvent) {
        obj.attachEvent("on" + 'click', track);
    }
}
function track(e){
    linkhref = (e.srcElement) ? e.srcElement.pathname : this.pathname;
    pageTracker._trackPageview(linkhref);

 }

直到 pageTracker._trackPageview() 调用正常为止的一切。在我的调试中,linkhref 被作为字符串很好地传递。没有异常字符,什么都没有。问题是,在观看我的 http 请求时,Google 从来没有对跟踪 gif 进行第二次调用(就像您在“onclick”属性中调用此函数一样)。从我的 JS 控制台调用跟踪器也可以按预期工作。它只存在于我的听众中。

是不是我的听众在有机会联系 Google 的服务器之前没有推迟默认操作(加载新页面)?我见过其他跟踪脚本做类似的事情而没有任何延迟。

4

1 回答 1

0

尝试

pageTracker._trackPageview('/pagex/downloadlink.html')

另外,为了好玩,请确保在此脚本之前首先加载 GA 代码。有时 GA 会像那样挑剔和怪异。

让我知道这是否有帮助

@ctrentmarketing

于 2009-08-12T05:39:24.643 回答