我正在使用 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/