0

我正在使用 jquery 将锚点的点击记录到谷歌分析。

我有如下代码,用于连接事件:

$(document).delegate("a[rel='mylink']", "Click", function (e) {
//log to google analytics
console.log('tracking link');
_gaq.push(event);
e.preventDefault();         
});

问题在于,href 的执行速度似乎太快,以至于无法触发此事件。

有没有办法延迟href的后续直到事件被触发/完成?

我可以在控制台中看到它一直到“跟踪链接”,但在谷歌分析推送事件完成之前它会继续前进。

任何建议表示赞赏。

4

2 回答 2

2

Google Analytics 通过请求跟踪像素来记录数据。如您所见,在同一窗口中打开新页面时可以取消请求。

注意:只有在同一窗口中打开链接时才需要延迟。我使用以下的一些变体来实现点击功能:

function(e) {
  _gaq.push(['_trackEvent', ...]);
  if (this.target != '_blank') {
    e.preventDefault();
    var url = this.href;
    setTimeout(function() {location.href = url}, 150);
  }
}
于 2012-12-01T15:16:53.703 回答
0

我用谷歌分析解决了这个问题,将逻辑放入窗口加载函数

jQuery(window).load(function(){


})
于 2012-12-01T10:30:54.360 回答