4

假设我需要使用谷歌分析脚本来跟踪我的点击。我知道确保触发跟踪事件的标准方法是将延续传递到跟踪队列并从单击事件处理程序返回 false,如下所示:

 $('a').click(function () {
    var url = $(this).attr('href');
    _gaq.push(['_trackEvent', smth]);
    _gaq.push(function(){ document.location = url ;}
    return false;
});

我的挑战是我想在新标签中打开这个链接。
我的完美解决方案是 target="_blank",但你不能用 javascript 来做。
window.open(url,'_blank') 将在除火狐之外的所有浏览器中弹出新窗口,并且默认情况下通常会阻止此窗口。
这意味着我必须从点击处理程序返回 true 。

所以这就是我需要以某种方式同步等待 ga 脚本请求它的跟踪像素这一事实背后的原因。是某种什么是 sleep() 的 JavaScript 版本?功能可以帮助我吗?

谢谢!

4

1 回答 1

7

您要确保在访问者被带到新页面之前触发跟踪像素的唯一原因是链接将您带到同一窗口中的新页面。换句话说,您要确保跟踪代码在当前窗口被卸载之前完成它的工作。

如果您的链接正在打开一个新窗口...无论您如何打开新窗口...您不必担心这种事情,因为您当前的窗口没有被卸载。

于 2012-04-27T17:35:57.953 回答