本文最后更新于天前,内容可能已不再适用!

现在有很多网站使用 pjax, 包括本站也是。本站主题是从 Typecho 的 hansome 主题移植过来的,在移植过程中就遇到了这个问题:
开启 pjax 后百度分析和谷歌分析之统计首次访问的页面,之后的页面都不会统计。
下面来说一下我是如何解决的。

百度分析

pjax:complete添加以下回调:

if(typeof _hmt !== "undefined" && typeof _hmt.push === "function") _hmt.push(['_trackPageview',window.location.pathname]);

谷歌分析

谷歌分析似乎有两种,请根据你引用的 js 库修改:

  • ga: 使用https://www.google-analytics.com/analytics.js
  • gtag: 使用https://www.googletagmanager.com/gtag/js?id=UA-*******

ga

pjax:complete添加以下回调:

if(typeof ga === "function") ga('send', 'pageview', window.location.href);

gtag

pjax:complete添加以下回调(感谢@FGHRSH):

if(typeof gtag === "function") gtag('event', 'pageview', {page_location: window.location.href});
最后修改:2021-09-01 11:12:36
如果觉得我的文章对你有用,请随意赞赏