我正在使用 jquery 将 anchor 的点击记录到谷歌分析。
我有如下代码,用于连接事件:
$(document).delegate("a[rel='mylink']", "Click", function (e) {
//log to google analytics
console.log('tracking link');
_gaq.push(event);
e.preventDefault();
});
问题在于,href 的执行速度似乎太快,以至于无法触发此事件。
有没有办法延迟href的后续直到事件被触发/完成?
我可以在控制台中看到它一直到“跟踪链接”,但在谷歌分析推送事件完成之前它会继续前进。
任何建议表示赞赏。
最佳答案
Google Analytics 通过请求跟踪像素来记录数据。如您所见,在同一窗口中打开新页面时可以取消请求。
注意:只有在同一窗口中打开链接时才需要延迟。我使用以下的一些变体来实现点击功能:
function(e) {
_gaq.push(['_trackEvent', ...]);
if (this.target != '_blank') {
e.preventDefault();
var url = this.href;
setTimeout(function() {location.href = url}, 150);
}
}
关于jquery - 如何延迟 google 分析的 jquery 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13658455/