当我要使用谷歌分析的事件跟踪功能记录一些数据时,我有一个网络应用程序要求。我正在使用 onbeforeunload 方法,使用如下方法:
window.onbeforeunload = fnUnloadHandler
function fnUnloadHandler() {
endTime = new Date()
var dif = endTime.getTime() - startTime.getTime()
var diffSeconds = dif / 1000
var timeSpent = Math.floor(diffSeconds)
//Register time on app\n");
RegisterMultipleDataOnGA('timeonapp', timeSpent)
return 'page closing'
}
Register multiple on GA 方法负责通过 google Analytics 的 _gaq.push 方法记录数据。看起来这在网络浏览器中工作有点不一致,并且在移动浏览器中根本不起作用。
在网络浏览器中,如果我运行类似提琴手的东西,我会注意到对 Google Analytics 的服务调用已完成,但它显示为待处理状态,然后页面关闭。我不确定此服务调用是否已完成以便将数据记录到 Analytics 中,因此:
提前感谢任何帮助。
噢!我提出了同样的问题!但没有运气! beforeunload 非常棘手,并且在浏览器之间的行为有所不同,因此我使用模式窗口来跟踪或等待我的请求完成,但令我失望的是,它在 chrome 中不起作用。
查看此线程了解更多信息。