Jac*_*ham 5 javascript ruby-on-rails mixpanel
我的Rails应用程序中有一些JS代码,可以在新会话中向Mixpanel发出跟踪事件.
从理论上讲,在任何其他事件被触发之前,我应该首先看到"新会话"事件.但在一些访问中,我没有看到"新会议"事件,这意味着它在某些情况下没有被解雇.
以下代码有什么问题?
$(function(){
var currentLocation = window.location.hostname;
var lastLocation = document.referrer;
if (lastLocation.indexOf(currentLocation) > -1) {
} else {
mixpanel.track("New Session", {});
}
mixpanel.track("Page View", {});
});
Run Code Online (Sandbox Code Playgroud)
如果您使用 Turbolinks,则在第一页加载后不会触发就绪事件,因此您需要绑定到自定义 Turbolinks 事件,如下所示page:load:
var ready;
ready = function() {
var currentLocation = window.location.hostname;
var lastLocation = document.referrer;
if (lastLocation.indexOf(currentLocation) > -1) {
} else {
mixpanel.track("New Session", {});
}
mixpanel.track("Page View", {});
};
$(document).ready(ready);
$(document).on('page:load', ready);
Run Code Online (Sandbox Code Playgroud)
对于Rails 5,事件名称更改为turbolinks:load
| 归档时间: |
|
| 查看次数: |
196 次 |
| 最近记录: |