cho*_*321 14 javascript jquery google-analytics
我正在使用PJAX https://github.com/defunkt/jquery-pjax,我想知道,因为整个页面没有改变用谷歌分析跟踪分析的最佳方式?
and*_*ber 41
接受的答案不再有效,因为正如Ruy Diaz评论的那样,这在本次提交中已从PJAX 中删除.
这是我的解决方案.在pjax:end事件中,设置GA位置,并发送综合浏览量.
使用pjax:end事件是因为它在"跟随pjaxed链接"(从服务器加载)和"on back/forward navigation"(从缓存加载)时被触发.请参阅pjax事件文档
$(document).on('pjax:end', function() {
ga('set', 'location', window.location.href);
ga('send', 'pageview');
});
Run Code Online (Sandbox Code Playgroud)
或使用旧版GA
$(document).on('pjax:end', function() {
if( window._gaq ) {
_gaq.push(['_trackPageview', window.location.href]);
}
});
Run Code Online (Sandbox Code Playgroud)
我不得不手动设置位置变量,因为它没有拿起它改变了.
Car*_*arl 17
编辑:请注意,现在不再是这样了.见下面的评论.
Defunkts jquery-pjax实际上会默认为您处理此问题(至少对谷歌分析而言).基本上每当调用pjax页面加载时,它都会告诉gaq对象记录新页面.
它用来执行此操作的代码如下所示:
// Google Analytics support
if ( (options.replace || options.push) && window._gaq )
_gaq.push(['_trackPageview'])
Run Code Online (Sandbox Code Playgroud)