我在我的主干网应用程序中使用主干路由过滤器https://github.com/fantactuka/backbone-route-filter。这是一个单页应用程序,因此我尝试使用 KissMetrics 事件跟踪片段记录浏览量。这是代码:
before: {
'*any': function(fragment, args) {
}
},
after: {
'*any': function(fragment) {
var _kmq = window._kmq || [];
_kmq.push(['record', 'Viewed ' + fragment]);
}
},
问题是,除非我指定 _kmq 变量的“窗口”范围,否则不会跟踪事件。为什么?在我的 index.html 或包含我所有 js 代码的一页中,我有:
var _kmq = _kmq || [];
我认为会自动在全局级别生成变量...这是典型实现的链接:http: //support.kissmetrics.com/apis/javascript/index.html在我之前见过的每种情况下常见的 api 方法有效,但没有将范围设置为窗口:http: //support.kissmetrics.com/apis/javascript/javascript-specific/index.html
为什么我需要指定 'window._kmq' 而不仅仅是 '_kmq'?