Javascript Google Analytics_gaq.push在Firefox中不起作用
我有一个与我的登录按钮相关的非常基本的跟踪事件,它在Chrome和IE中正常工作,但在Firefox(v26)中不正常 当用户单击登录按钮时,他们的请求将通过对服务器的Ajax调用进行身份验证,如果服务器响应成功消息,则会触发此GA代码 没有向控制台报告任何错误Javascript Google Analytics_gaq.push在Firefox中不起作用,javascript,google-analytics,Javascript,Google Analytics,我有一个与我的登录按钮相关的非常基本的跟踪事件,它在Chrome和IE中正常工作,但在Firefox(v26)中不正常 当用户单击登录按钮时,他们的请求将通过对服务器的Ajax调用进行身份验证,如果服务器响应成功消息,则会触发此GA代码 没有向控制台报告任何错误 有没有办法确定代码是否正确触发?或者要知道gaq是否正确初始化?多亏@Boaz在GA代码触发后引入了延迟(50ms) _gaq.push(['_trackEvent', 'Navigation', 'Log In', 'Log In b
有没有办法确定代码是否正确触发?或者要知道gaq是否正确初始化?多亏@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);
由于@Boaz I在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);
然后正确触发事件使用Google Analytics内置功能: 因此,关于成功:
_gaq.push(['_set', 'hitCallback' , function(){
//default action
}]);
_gaq.push(['_trackEvent', 'Navigation', 'Log In', 'Log In button']);
使用谷歌分析内置功能: 因此,关于成功:
_gaq.push(['_set', 'hitCallback' , function(){
//default action
}]);
_gaq.push(['_trackEvent', 'Navigation', 'Log In', 'Log In button']);
分析中的实时报告在您触发事件时是否显示任何情况?在Firefox中,在Chrome/IE中,实时报告中没有显示任何情况。在请求经过身份验证后是否发生重定向?是的,基本流程是用户单击->$.ajax->success{u gaq.push();someLogic();重定向;}有时,重定向是在实际加载跟踪事件之前发生的。尝试在重定向之前添加一点延迟。当您触发事件时,分析中的实时报告是否显示任何情况?在Firefox中,在Chrome/IE中,实时报告中没有显示任何情况。在请求经过身份验证后,是否有重定向发生?是的,基本流程是用户单击->$.ajax->成功{u gaq.push();someLogic();重定向;}有时,重定向是在跟踪事件实际加载之前发生的。请尝试在重定向之前添加一点延迟。现在您已经调试了该问题,@Blexy方法似乎是解决该问题的最可靠方法。现在您已经调试了该问题,@Blexy方法似乎是解决该问题的最可靠方法。谢谢,我已经介绍了更多有关此问题的信息一个使事情复杂化的单跟踪器。(_gaq.push(['b.'u trackEvent')所以如果我需要使用像_gaq.push(['b.'u set','hitCallback')这样的跟踪器,那么原始的setTimeout解决方案对我来说更好。我认为,即使你的解决方案更好。谢谢,我有不止一个跟踪器使事情复杂化。(_gaq.push)(所以如果我需要使用像_gaq.push(['b.'u set','hitCallback'…这样的东西,那么原始的setTimeout解决方案对我来说更好,我认为即使你的解决方案对这个问题来说更好