2011-05-04 69 views
1

爲了小豬回到what was discussed here,我正在尋找一個現有的插件更新來幫助我切換到谷歌分析的「異步語法」,以便onclick事件可以jquery爲谷歌分析填充_link()異步語法(跨域)

<a href="http://example.com/test.html" onclick="_gaq.push(['_link', 'http://example.com/test.html']); return false;">click me</a> 

這是我當前實施跟蹤與jQuery的,我希望能進行修改以支持谷歌分析的「異步語法的出站鏈接:如圖所示這裏被應用到我們的跨域跟蹤出站鏈接「

$(document).ready(function(){ 
    $('a:not(.popupwindow)').filter(function() { 
      var theHref = this; 
      if (theHref.hostname && theHref.hostname !== location.hostname) { 
       $(theHref).not(".noAutoIcon").addClass("offSite"); 
       $(theHref).not(".noAutoLink").attr('target','_blank').bind('click keypress', function(event) { 
        var code=event.charCode || event.keyCode; 
        if (!code || (code && code == 13)) { 
         if(pageTracker){ 
          var fixedLink = this.href; 
          fixedLink = fixedLink.replace(/https?:\/\/(.*)/,"$1"); 
          fixedLink = '/outgoing/' + fixedLink; 
          pageTracker._trackPageview(fixedLink); 
         }; 
        }; 
       }); 
      }; 
     }); 
}); 

當用戶點擊example.commysite.com,這兩個網站都是我的,cookie信息將被傳遞_link,它將被視爲一次訪問。

這是我們當前谷歌Analytics(分析)代碼:

try { 
    var pageTracker = _gat._getTracker("UA-111222333-1"); 
    pageTracker._setDomainName(".example.com"); 
    pageTracker._setAllowLinker(true); 
    pageTracker._setAllowHash(false); 
    pageTracker._trackPageview(); 
    } catch(err) {} 

這是我谷歌分析 「分析異步」 代碼

var _gaq = _gaq || []; 
    _gaq.push(['_setAccount', 'UA-111222333-1']); 
    _gaq.push(['_setXDomain', { 
    domainName: '.example.com', 
    include: /(firstsite.com|secondsite.com)/ 
    }]); 
    _gaq.push(['_trackOutbound']); 
    _gaq.push(['_trackDownload']); 
    _gaq.push(['_trackMailTo']); 
    _gaq.push(['_trackError']); 
    _gaq.push(['_formAnalysis',{minFields: 3}]); 
    _gaq.push(['_setDayOfWeek']); 
    _gaq.push(['_trackPageview']); 

我的網站下一個CMS和增加工作的onclick事件手動鏈接是不可能的,所以我需要這樣做與jquery,這就是爲什麼我希望利用我們現有的jquery出站鏈接跟蹤,並讓它si mply修改。

+1

什麼是'_setXDomain'和那些其他功能?它似乎不是記錄的API的一部分。我假設它或者是無證的功能,或者你是monkeypatching _gaq – Eduardo 2011-05-09 15:23:19

+0

Humm似乎你正在使用gaaddons,忘記了一秒鐘。過去幾個月我一直在做類似的事情,所以我很好奇。 – Eduardo 2011-05-09 15:25:07

回答

0

我沒有看到舊的_link調用,但我假設它只是在_trackPageview之後。遷移非常簡單。

$(document).ready(function(){ 
    $('a:not(.popupwindow)').filter(function() { 
     var theHref = this; 
     if (theHref.hostname && theHref.hostname !== location.hostname) { 
      $(theHref).not(".noAutoIcon").addClass("offSite"); 
      $(theHref).not(".noAutoLink").attr('target','_blank').bind('click keypress', function(event) { 
       var code=event.charCode || event.keyCode; 
       if (!code || (code && code == 13)) { 
        var fixedLink = this.href; 
        fixedLink = fixedLink.replace(/https?:\/\/(.*)/,"$1"); 
        fixedLink = '/outgoing/' + fixedLink; 
        _gaq.push(['_trackPageview', fixedLink]); 
        _gaq.push(['_link', this.href]); 
       }; 
      }); 
     }; 
    }); 
}); 
+0

讓我測試一下。它似乎爲我做了詭計 – Evan 2011-05-10 17:18:53