我使用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