首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Durandal谷歌类比追踪

Durandal谷歌类比追踪
EN

Stack Overflow用户
提问于 2013-06-06 07:15:25
回答 2查看 905关注 0票数 8

我正在使用Durandal1.2和Durandal Router Plugin,并希望通过Google Analytics跟踪SPA中的页面浏览量:window._gaq.push(['_trackPageview', location.pathname + location.search + location.hash]

我知道我可以监听hashchange事件,甚至可以通过Sammy连接。我不想这么做,因为Durandal目前正在使用rewritten来消除对Sammy的依赖。

我的问题是,有没有一种方法可以使用Durandal路由器插件来设置?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-06 07:18:31

查看路由器中的onNavigationComplete。你可以覆盖它来做你的分析:

代码语言:javascript
复制
// Store reference to router's onNavigationComplete so you can call it
var onNavigationComplete = router.onNavigationComplete;

router.onNavigationComplete = function (routeInfo, params, module) {
    // Run the default onNavigationComplete
    onNavigationComplete.call(this, routeInfo, params, module);

    // Analytics!
    window._gaq.push(['_trackPageview', location.pathname + location.search + location.hash]
};

显然,您需要在应用程序生命周期的早期执行此操作,例如在main.js中。

票数 5
EN

Stack Overflow用户

发布于 2013-08-30 23:24:43

您还可以附加到navigation complete事件,这样就不必存储路由器的原始功能。

代码语言:javascript
复制
//Update anaytics whenever the router navigates
router.on('router:navigation:complete', function(instance, instruction) {
    window._gaq.push(['_trackPageview', instruction.fragment]);
});
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16951388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档