Durandal Google Analtyics Tracking

Dre*_*ing 8 javascript google-analytics durandal

我正在使用Durandal 1.2和Durandal路由器插件,并希望通过Google Analytics跟踪SPA中的网页浏览量: window._gaq.push(['_trackPageview', location.pathname + location.search + location.hash]

我知道我可以监听hashchange事件,甚至可以通过Sammy进行连接.我宁愿不这样做,因为Durandal目前正在被重写以消除对Sammy的依赖.

我的问题是,有没有办法使用Durandal路由器插件设置它?

ger*_*rod 5

看看onNavigationComplete路由器.您可以覆盖它来进行分析:

// 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]
};
Run Code Online (Sandbox Code Playgroud)

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