2010-04-27 72 views
0

我发现这个在网络上点击:jQuery代码追踪外向链接(谷歌分析)

$('a[href^=http]:not("[href*=://' + document.domain + ']")').click(function() { 
pageTracker._trackPageview('/outgoing/' + $(this).attr('href')); 
}); 

但它不工作。在我的Google Analytics(分析)帐户中,没有/outgoing/链接显示(自实施它以来已有24个小时以上)。

这段代码有什么问题?我使用jQuery当然;)

我已经有了:

<script type="text/javascript"> 
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); 
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); 
</script> 

<script type="text/javascript"> 
try { 
    var pageTracker = _gat._getTracker("UA MY CODE"); 
    pageTracker._trackPageview(); 
} catch(err) {} 
</script> 
+0

如何在添加文本之前提醒文本?一切都表现出色吗? – nc3b 2010-04-27 07:34:46

+0

新增:alert('test');点击链接='( – 2010-04-27 07:39:36

+0

我怀疑这个函数可能永远不会被调用, – nc3b 2010-04-27 07:41:24

回答

1

尝试(注意,属性的双引号值而不是:不()):

$('a[href^="http"]:not([href*="://' + document.domain + '"])').click(function() { 
    pageTracker._trackPageview('/outgoing/' + $(this).attr('href')); 
}); 

而且,是你的链接的静态(HTML页面上)或动态(由JavaScript生成的)?如果您在此代码之后添加链接,则需要再次调用此代码才能附加单击事件处理程序。

+0

谢谢我会测试一下。我的链接是静态的,不是由JS生成的:) – 2010-04-27 15:02:07

0

我认为你需要还包括谷歌分析外部JavaScript文件。 下面的代码放置在您的网页的主体的末尾(未经测试):

var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); 
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); 

更详细的“如何”通过谷歌可以在这里找到:clicky

+0

我编辑了我的文章,你会看到我已经有了这个;) – 2010-04-27 07:38:26