【问题标题】:handle urls with hash # with google analytics使用 google 分析处理带有哈希 # 的 url
【发布时间】:2012-10-20 13:55:01
【问题描述】:

我正在使用 javascript 客户端 mvc(在本例中为 angular.js)开发一个 js 单页 Web 应用程序

我在网站上添加了谷歌分析,但从我目前所看到的(至少是实时的)谷歌没有考虑哈希后的 uri 部分

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

有什么想法吗?

【问题讨论】:

标签: google-analytics angularjs singlepage


【解决方案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]);

【讨论】:

  • 这是怎么做的;首先是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]);
【解决方案2】:

使用 $window 依赖并调用路由更改。

还可以使用 GA 'set' 确保为 Google 实时分析选择路线。

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

【讨论】:

    猜你喜欢
    • 2013-05-08
    • 2019-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-19
    • 1970-01-01
    • 1970-01-01
    • 2013-01-29
    相关资源
    最近更新 更多