0

当我要使用谷歌分析的事件跟踪功能记录一些数据时,我有一个 Web 应用程序要求。我正在使用这样的方法使用 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 方法负责使用谷歌分析的 _gaq.push 方法记录数据。看起来这在网络浏览器中有点不一致,在移动浏览器中根本不起作用。

在网络浏览器中,如果我有类似 fiddler 的东西在运行,我注意到对 Google Analytics 的服务调用已完成,但它显示为待处理状态,然后页面关闭。我不确定此服务调用是否已完成,以便将数据登录到 Analytics,因此:

  1. onbeforeunload 也能在移动浏览器中完美运行吗?
  2. 有没有办法可以确保在页面关闭之前将数据记录到分析中?

提前感谢任何帮助。

4

1 回答 1

1

啊!我提出了同样的问题!但没有运气!beforeunload 非常棘手,并且在不同浏览器中的行为不同,所以我使用模式窗口来跟踪或等到我的请求完成,但令我失望的是它在 chrome 中不起作用。

检查此线程以获取更多信息。

onbeforeunload 所有浏览器中的无缝行为

于 2012-09-26T11:58:08.257 回答