javascript - Durandal 谷歌分析跟踪

标签 javascript google-analytics durandal

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

我知道我可以监听 hashchange 事件,甚至可以通过 Sammy Hook .我宁愿不这样做,因为 Durandal 目前正在 rewritten移除对 Sammy 的依赖。

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

最佳答案

看看路由器中的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]
};

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

关于javascript - Durandal 谷歌分析跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16951388/

相关文章:

ios - 使用 iTunes Analytics 跟踪 Facebook 应用安装广告的转化

google-analytics - 在 ApostropeCMS 中添加分析的最佳位置

javascript - 跨现代浏览器有条件地定义函数?特别是 Safari ?

javascript - Durandal 尝试从 viewmodel 文件夹访问 View

javascript - JS触摸轮播: performance issues

javascript - 引用错误 : $ is not defined - Jasmine

javascript - 在 PreventDefault 后重新启用 onclick 行为

javascript - 重置 div (jquery) 的 html 值的问题

javascript - 以 MVVM 方式处理 html5 视频标签的正确方法是什么?

javascript - 在 Aurelia 中使用 AMD/Require 模块