如何使用服务器时间计算用户的操作

时间:2017-02-05 05:57:08

标签: javascript reactjs meteor

以下是我的测验页面上应该发生的事情:

  1. 用户开始查看问题。
  2. 时钟开始在他身上。 (开始时间保存在DB中。)
  3. 用户无论是回答还是离开。
  4. 时钟已停止。 (退出保存在DB中的时间。)
  5. 对于第一种情况,这是非常容易的,其中用户按顺序回答每个问题,就像一个好的小用户。我可以成功设置开始时间和退出时间。

    但是,如果用户决定以任何方式离开页面(甚至关闭整个浏览器或将计算机扔出窗外),我不知道如何跟踪它。

    我想我可以使用DDP,每当连接中断时,我知道用户已经离开并且可以设置退出时间。问题是我不知道该怎么做,或者当用户已经离开时,甚至可以进行方法调用或类似的事情!

    有没有人有任何想法?

2 个答案:

答案 0 :(得分:1)

查看Meteor.onConnection回调的一个参数是onClose回调,它将在客户端关闭连接后立即执行。

答案 1 :(得分:1)

您可以尝试使用网站分析中使用的sendBeacon()beforeunload来获取离开该网页的用户的数据。