2012-04-25 127 views
0

我有一個網站,使用谷歌分析,並使用了一些域。有人問我這樣做是爲了增加跨網域跟蹤:跨域谷歌分析跟蹤時,使用fancybox iframe

1)添加一個異步跟蹤

var _gaq = _gaq || []; 
_gaq.push(['_setAccount', 'UA-21602333-1']); 
_gaq.push(['_setDomainName', 'domain.com']); 
_gaq.push(['_setAllowLinker', true]); 
_gaq.push(['_trackPageview']); 

(function() { 
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; 
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; 
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); 
})(); 

2)將以下代碼添加到去其他領域之一的所有鏈接。

<a href="http://www.domain-aanvraag.nl[rest van de link]" onclick="_gaq.push(['_link', 'http://www.domain.com']); return false;">Go!</a>) 

的_link選項執行以下操作根據谷歌:

此方法與_setDomainName(協同工作)和 _setAllowLinker()方法來啓用跨域用戶跟蹤。 _link()方法通過URL參數(HTTP GET)將GATC cookie從該站點傳遞到另一個站點。它還會更改document.location並將用戶重定向到新的URL。

好的。這一切都適用於正常的傳出鏈接。

這是問題所在。我有一個表單,用戶可以在其中選擇兩個單選按鈕中的一個,然後選擇一個他點擊提交按鈕。如果選擇第一個單選按鈕,fancybox彈出窗口將打開,其中的iframe指向另一個域上的頁面。如果打開第二個單選按鈕,當前窗口將重定向到該域上的另一個頁面。

我只想做_gaq_push(['_link', ...]) thingy當用戶選擇第一個選項並單擊該按鈕。

所以,我有兩個問題與此:

  1. 我應該在哪裏放置的onclick。
  2. 如何使用fancybox使用此代碼?它似乎總是設置主屏幕的document.location,而不是我的fancybox中的iframe,導致我的屏幕完全刷新。

這裏是我的代碼精簡工作示例至今:https://www.domain.com/test/analytics.html

回答

0

因爲你已經使用jQuery你可以用這個的fancybox。

給單選按鈕clickme的ID,然後將這個腳本的單選按鈕後

<input id="clickedme" type="radio" name="option" value="1" data-link="http://ato.xximo-aanvraag.nl/Home/Step1?companytype=zzp"> 

<script> 
$("#clickme").bind("click", function(event){ 
    _gaq.push(['_link', 'http://www.xximo.com']); 
    alert('click recorded, you can remove me') // remove if needed 
}); 
</script> 

//hoop dat het is wat je zoekt ;) 
+0

感謝。我會在週末後嘗試。我認爲_link方法會強制整個頁面刷新。 :/ – koenpeters 2012-04-28 15:27:39

+0

您可以將_gaq.push更改爲_trackEvent,_trackPageview等等。 – Scriptor 2012-04-28 17:43:46