假设我需要使用Google Analytics分析脚本来跟踪我的点击次数。 我知道确保触发跟踪事件的标准方法是将延续传递到跟踪队列并从click事件处理程序返回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')将在除firefox之外的所有浏览器中弹出新窗口,默认情况下通常会阻止此窗口。
这意味着我必须从点击处理程序返回true 。
所以这就是我的理由,我需要以某种方式同步等待ga脚本请求它的跟踪像素。 某种What is the JavaScript version of sleep()?功能可以帮助我吗?
谢谢!
答案 0 :(得分:7)
您希望确保跟踪像素在访问者进入新页面之前被触发的唯一原因是,您可以将链接转到同一窗口中的新页面 。换句话说,您希望确保跟踪代码在卸载当前窗口之前执行其操作。
如果您的链接正在打开一个新窗口...无论您打开新窗口如何...您都不需要担心这种情况,因为您当前的窗口没有被卸载。