使谷歌分析跟踪单页面应用程序的哈希URL

时间:2013-09-06 06:15:34

标签: javascript jquery html google-analytics single-page-application

这是我最初的问题:Enable google analytics for single page site with # views

我接受了这个答案:https://stackoverflow.com/a/18626897/765498

然而,我发现,这个答案只是发送点击事件。我想要实现的是,让谷歌分析记录不同的哈希网址。

我读过这篇文章:tracking hash urls,但不知道如何实现这一目标。 我试过这个代码,似乎行不通。我想要实现的是将不同的页面显示为“活动页面”。例如,/ register.html#/ p1和/register.html#/p2和/register.html#/p3和/register.html#/p4

  <script stype="text/javascript">
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXXXX-1']);
  _gaq.push(['_trackPageview', "/" + window.location.hash]);
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-XXXXXXX-1', 'xxxxxxxx.com');
  ga('set','page','/register.html')
  ga('send', 'pageview');


</script>   

1 个答案:

答案 0 :(得分:3)

你必须听哈希变化。

$(window).on('hashchange', function() {
    _gaq.push(['_trackPageview', "/" + window.location.hash]);
});