处理与哈希#与谷歌分析网址(handle urls with hash # with google

2019-08-01 16:39发布

我使用JavaScript客户端MVC开发一个js单页的Web应用程序(在这种情况下angular.js)

我加入谷歌分析该网站,但是从我能看到至今(至少实时)谷歌并没有考虑到URI的一部分散列后

这是我有一个网址像mydomain.com.ar/#/ideas/1但对于谷歌分析它看起来就像mydomain.com.ar/

任何的想法?

Answer 1:

您需要解析#后的参数,并通过以使用_trackPageview看到他们在网页上的报告发送数据。

这里是如何做到这一点,

 var params = {},
     queryString = location.hash.substring(1), 
     regex = /([^&=]+)=([^&]*)/g, 
     m; 
 while (m = regex.exec(queryString)) { 
     params[decodeURIComponent(m[1])] = decodeURIComponent(m[2]);
 }
 _gaq.push(['_trackPageview', queryString]);


Answer 2:

使用$窗口的依赖和路径变化调用。

还可以使用GA“设置”,以确保路由拿起了谷歌实时分析。

$scope.$on('$routeChangeSuccess', function() {
    $window.ga('set', 'page', $location.url());
    $window.ga('send', 'pageview');
});


文章来源: handle urls with hash # with google analytics