我使用PJAX https://github.com/defunkt/jquery-pjax,我想知道,因为整个页面不会改变将跟踪与谷歌分析分析的最佳方式?jQuery的pjax和谷歌分析
回答
编辑:请注意,这不再是这种情况。见下面的评论。
Defunkts jQuery的pjax实际上默认处理这件事情(对谷歌分析至少)。基本上,无论何时调用pjax页面加载,它都会告诉gaq对象记录新页面。
它采用这样做的代码如下所示:
// Google Analytics support
if ((options.replace || options.push) && window._gaq)
_gaq.push(['_trackPageview'])
阅读本http://code.google.com/apis/analytics/docs/tracking/asyncTracking.html和http://code.google.com/apis/analytics/docs/tracking/asyncMigrationExamples.html
谷歌分析_trackPageview是对的ga.js使用功能跟踪网站,可以让你追踪网站上的事件,却不会产生综合浏览量。使用_trackPageview JavaScript,您可以指定特定页文件名给Flash事件,JavaScript事件,文件下载,出站链接,更多的,像这样的_gaq.push(['_trackPageview', '/home/landingPage']);
在你只需要告诉GA的“网址”成功的Ajax请求这一页'。
接受的答案是不再有效,因为鲁伊·迪亚兹评论说,这是从PJAX in this commit删除。
这里是我的解决方案。在pjax:end事件中,设置GA位置并发送综合浏览量。
的pjax:使用结束事件,因为它是触发这两个“一旦在一个pjaxed链接”(从服务器加载)和“前进/后退导航”(装载从高速缓存)。见pjax events documentation
$(document).on('pjax:end', function() {
ga('set', 'location', window.location.href);
ga('send', 'pageview');
});
或者使用旧版本的GA
的$(document).on('pjax:end', function() {
if(window._gaq) {
_gaq.push(['_trackPageview', window.location.href]);
}
});
我不得不手动设置的位置变量,因为它没有拿起它改变了。
这适用于新版本。谢谢!! – joehand 2013-09-06 01:54:54
Perrrrfect!谢谢! – Brainfeeder 2013-11-26 20:26:34
应该可能使用'pjax:end',否则只有首页加载被跟踪。 – 2014-05-07 14:22:44
我用PJAX比整个多页面加载和每个页面加载居然能产生几个PJAX请求。
为了在现场安全工作,我提出一个事件URL的变化,只有当。这不会捕获刷新,但它比发送每页加载3x +点击更好。
href = window.location.href;
if (window.LAST_GOOGLE_ANALYTICS_LOCATION !== href) {
window.LAST_GOOGLE_ANALYTICS_LOCATION = href;
ga('set', 'location', href);
ga('send', 'pageview');
console.log("Analytics: sending hit, this is a new url: " + href);
} else {
console.log("Analytics: not sending hit; same url as before: " + href);
}
@andrewtweber的答案几乎是正确的,但pjax:complete
页面加载后才能触发,而不是恢复页面(例如使用后退按钮导航)。
因此应该使用的事件是pjax:end
:
$(document).on('pjax:end', function() {
ga('send', 'pageview', window.location.href);
});
或者使用谷歌Analytics(分析)的旧版本时:
$(document).on('pjax:end', function() {
_gaq.push(['_trackPageview', window.location.href]);
});
位置。href没有为我工作,我正在使用:
ga('send', 'pageview', location.pathname + location.search + location.hash);
- 1. 谷歌分析和jQuery fullpage.js
- 2. jQuery谷歌分析跟踪
- 3. jquery地址谷歌分析
- 4. jQuery与谷歌分析href
- 5. 这是加载谷歌,分析和jQuery
- 6. Birt和谷歌分析
- 7. Chartbeat和谷歌分析
- 8. 谷歌分析和饼干
- 9. 谷歌Analytics(分析)和anonymizeIp
- 10. Ember.js和谷歌分析
- 11. php mt_rand和谷歌分析
- 12. AIR iOS和谷歌分析
- 13. 谷歌分析和Python
- 14. Colorbox和谷歌分析
- 15. 谷歌分析
- 16. 谷歌分析
- 17. 谷歌分析
- 18. JQuery的生活+ Disqus /谷歌Analytics(分析)
- 19. 谷歌分析注入的jQuery 1.7
- 20. _trackTiming谷歌分析
- 21. tidy谷歌分析
- 22. 谷歌分析API
- 23. Concrete5谷歌分析
- 24. Proguard谷歌分析
- 25. 谷歌分析跟踪jquery开放
- 26. jquery - 谷歌分析不拉在页脚
- 27. 谷歌分析跟踪谷歌+股票
- 28. 谷歌分析谷歌地图API
- 29. 的Windows Mobile和谷歌分析
- 30. 谷歌分析API - 分页
[this commit]不再是这样(https://github.com/defunkt/jquery-pjax/commit/d1ed57262a1ada5fdeeafc56b6df1b54029c5acc)。现在您需要使用事件来自己处理跟踪。有关如何使用YUI执行此操作的示例可以在此处找到(http://yuilibrary.com/yui/docs/pjax/#adding-analytics-support),并且可以作为如何实施它的指导与jquery-pjax。 – 2013-04-16 21:28:13