2011-12-19 24 views
0

我已經使用backbone.js創建了一個Web應用程序,我正在嘗試將Google Analytics(分析)集成到它中。事情是腳本執行總是停在ga.js內的某個點上。其中停止執行的代碼是這樣的(美化版)...在webapp中集成Google Analytics(分析):無法記錄用戶交互

var o = e == "_gat" ? K : e == "_gaq" ? Tc : K.p(e); 
o[f].apply(o, b[d][ha](1)) 

縮小的版本(21號線)

new ActiveXObject(d),e=c.GetVariable("$version")}catch(o){}e&&(e=e[w](" ")[1][w](","),e=e[0]+"."+e[1]+" r"+e[2])}b=e?e:"-"}Pc=b; 

我記錄這樣的事件:

_gaq.push('_trackEvent', '[header] login', 'click'); 

我看到代碼在Firebug腳本選項卡中的上方停止。如果我禁用調試,則不會進行谷歌分析請求。該應用程序工作正常。

這裏可能會出現什麼問題?有其他人遇到過這樣的問題。

UPDATE

好像這個問題是不相關的Backbone.js的。即使是像這樣創建了最簡單的頁面也帶來了同樣的問題。我檢查了Firebug中的Net標籤 - __utm.gif確實加載。 ga.js也加載成功。但再次按下按鈕也會產生相同的中斷。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
    <head> 
     <title></title> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <script type="text/javascript"> 
      var _gaq = _gaq || []; 
      _gaq.push(['_setAccount', 'XX-XXXXXX-XX']); 
      _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); 
      })(); 
     </script> 
     <script type="text/javascript"> 
      function check() { 
       alert("hi"); 
       _gaq.push('_trackEvent', 'check'); 
      } 
     </script> 
    </head> 
    <body> 
     <input type="button" value="abc" onclick="check();"/> 
    </body> 
</html> 

回答

0

您正在調用_trackEvent錯誤。請注意,_trackEvent的前2個參數是必需的,最後2個參數是可選的。也應該在括號內。

檢查功能的signature

你應該聯繫

_gaq.push(['_trackEvent', '[header] login', 'click']); 

_gaq.push(['_trackEvent', 'check', 'something else']); 
相關問題