2011-01-27 59 views
1

我使用jQuery附加的onclick事件的某些元素在网站上,这取决于是否存在元素不工作假冒网页浏览跟踪,例如:异步谷歌分析上的链接,导致该站点外

$(document).ready(function() { 
    if ($("#webform-client-form-15897").length) { 
    $("#edit-submit") 
     .attr("onClick", "_gaq.push(['_trackPageview', '/feedback-submitted'])"); 
    } 
}); 

这对于表单上的提交按钮等工作非常出色,我可以通过假页面访问来跟踪目标(事件不允许这样做,因此是假触发器)。

问题是,当我将类似的onClick事件设置为锚定HTML元素时,会将用户带出网站,即使使用相同的代码附加例如alert(“foo”)事件显示其工作正常,我弹出一个窗口。

下面是实际的锚元素看起来像使用jQuery处理后:

<a href="http://www.example.com/foo" onclick="_gaq.push(['_trackPageview', '/ad-clicked'])">Anchor text</a> 

我在做什么错了,因为我已经看到了这个例子上几个教程中使用和代码执行的尽管我可以使用断点和alert()测试来跟踪它吗?

回答

3

问题通常始终是因为没有足够的时间让用户进入下一页之前执行GA代码。如果链接打开一个新窗口(target =“_ blank”),这不是问题,因为原始页面仍然存在,并且代码可以完成加载。处理这个问题的常用方法是使用settimeout来稍微延迟重定向,给GA脚本执行时间。有关实施的详细信息,请访问下面的链接。

http://www.google.com/support/analytics/bin/answer.py?hl=en&answer=55527

+0

而关于这一点,你可能要考虑计算出站链接作为一个事件,而不是虚拟的页面浏览量。 – 2011-01-27 14:43:26