2010-04-27 71 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