2014-01-27 150 views
0

工作,我已經綁這是一個在Chrome和IE,但不能在Firefox(V26)谷歌Analytics(分析)_gaq.push不能在Firefox

_gaq.push(['_trackEvent', 'Navigation', 'Log In', 'Log In button']); 

當用戶點擊運行正常我的登錄按鈕,一個非常基本的跟蹤事件登錄按鈕,他們的請求通過對服務器的Ajax調用進行認證,如果服務器響應成功消息,則觸發此GA代碼。

沒有錯誤報告給控制檯。

有沒有辦法找出代碼是否正確啓動?或者要知道_gaq是否已正確初始化?

+0

是否實時的分析報告顯示任何東西去你何時開火? –

+0

在Firefox/Chrome/IE中,實時報告中沒有顯示任何內容我可以看到事件 – ShaneH

+0

請求通過身份驗證後是否發生重定向? – Boaz

回答

3

使用谷歌Analytics(分析)內置hitCallback功能:

因此,在成功:

_gaq.push(['_set', 'hitCallback' , function(){ 
//default action 
}]); 

_gaq.push(['_trackEvent', 'Navigation', 'Log In', 'Log In button']); 
+0

謝謝,我有不止一個跟蹤器,這使事情變得複雜。 (_gaq.push(['b._trackEvent'...等等))所以如果我需要使用像_gaq.push(['b._set','hitCallback'... ...那麼原始setTimeout解決方案更適合我認爲即使你的問題是更好的答案 – ShaneH

2

感謝@Boaz我在GA代碼激發後引入了一個延遲(50ms)。

_gaq.push(['_trackEvent', 'Navigation', 'Log In', 'Log In button']); 

var timeout = 1; 
if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1) 
    timeout = 50; 

setTimeout(function() { 
    //redirect 
}, timeout); 

事件再發射正確

+0

現在你已經調試了這個問題,@Blexy方法似乎是克服它的最可靠的方法。 – Boaz