首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在跟踪点击的链接时有没有竞争的情况?

在跟踪点击的链接时有没有竞争的情况?
EN

Stack Overflow用户
提问于 2014-07-15 03:58:34
回答 2查看 362关注 0票数 1

我想要跟踪用户在我的页面上的点击。但我有点困惑。看看这段代码:

代码语言:javascript
复制
<a href="http://example.com" onClick=”_gaq.push(['_trackEvent', 'External Link', 'Twitter Link', 'Follow Us - Words']);”>Follow Us</a>

^如果用户get在谷歌analitics曲目之前被重定向到http://example.com -那该怎么办?这个例子有竞态条件,我说对了吗?

EN

回答 2

Stack Overflow用户

发布于 2014-07-15 04:36:57

没有竞争条件。单击处理程序在页面导航开始之前被调用并完全执行。该单击处理程序创建一个ajax请求,该请求的响应无关紧要。ajax请求在启动页面导航之前启动。

不要被方法名所蒙蔽。According to google

这个函数被命名为push,这样在分析完全加载之前,就可以使用一个数组来代替_gaq。在加载Analytics时,命令将推送/排队到阵列上。当分析完成加载时,它用_gaq对象替换数组,并执行所有排队的命令。随后对_gaq.push的调用将解析到此函数,该函数在推送命令时执行命令。

虽然最初,.push()只是将命令推入数组,但一旦加载了Analytics,这些命令就会立即执行。

票数 2
EN

Stack Overflow用户

发布于 2014-07-15 04:11:52

您可以这样做:

使用jQuery:

代码语言:javascript
复制
$('a').on('click', function(e){
    e.preventDefault();
    var $el = $(this);
    _gaq.push(['_trackEvent', 'External Link', 'Twitter Link', 'Follow Us - Words']);
    setTimeout(function(){
       window.location.href = $el.attr('href');
    }, 100);
});

不使用jQuery:

代码语言:javascript
复制
document.getElementById('someIdOfLink').addEventListener('click', function(){
   return false;
   var $el = this;
    _gaq.push(['_trackEvent', 'External Link', 'Twitter Link', 'Follow Us - Words']);
    setTimeout(function(){
       window.location.href = $el.getAttribute('href');
    }, 100);
});

希望能对您有所帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24744863

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档