注意: 我开始写这个问题,写下来最终解决了这个问题。我会把它留在这里,希望它会帮助别人。
一段时间以来,我一直在用这个头撞墙,并不断得到不一致的结果。
尝试 1 (来自 here )
App.ApplicationController = Ember.Controller.extend({
routeChanged: function (){
mixpanel.track("pageview", {"url": window.location.href });
}.observes('currentPath')
});
由于
mixpanel.track_pageview()
已被弃用,我不得不偏离示例。这导致位置记录不正确,因为我无法找到一种方法来获取转换重写 URL 后新的哈希路径将是什么,并且此时 URL 尚未更新。尝试 2
$(window).on('hashchange', function(){
mixpanel.track("pageview", {"url": window.location.href });
});
这在 URL 哈希更改时有效,但现在我在第一次加载网站时没有得到任何跟踪。
最佳答案
使用 EmberJS 跟踪 Mixpanel 或 Google Analytics 等服务的路由更改,重新打开路由器并覆盖 didTransition
方法,在下一个 Ember 运行循环中调用 mixpanel/analytics api。
Ember.Router.reopen({
didTransition: function(paths){
this._super(paths);
Ember.run.next(function(){
path = window.location.href;
mixpanel.track("pageview", {"url": path });
});
}
});
这是一个 jsbin
关于ember.js - 带有 EmberJS 的 Mixpanel,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21010093/