使用CloudFlare后面的NodeJS跟踪页面查看时间

时间:2015-12-01 17:04:19

标签: javascript jquery node.js cloudflare

我想知道用户观看特定网页的时间(例如Google Analytics)。

我想打开一个xmlHttpRequest到我的服务器并将超时设置为大约30分钟。 在服务器上,侦听请求结束,并将其记录在服务器上。

客户端

$(function($.get('/checktime')))  // start tracking on page load

服务器端

app.use('/checktime',function(req){
    var start=new Date()
    req.on('end',log)
    req.on('disconnect',log)
    function log(){
        logToServer(new Date()-start) // Time the user spent on the page
    }

})

问题:

  1. 还有其他更好的方法可以跟踪用户在网页上停留的时间吗?
  2. 在用户离开页面之前,NodeJS服务器有什么理由会结束连接?
  3. 应用程序位于cloudflare之后。 cloudflare有任何超时,因此连接将在用户离开页面之前结束吗?
  4. 使用getpost生成XMLHttpRequest会有什么不同吗?
  5. 谢谢

1 个答案:

答案 0 :(得分:1)

我最近看到的实现打开了一个WebSocket(回退到长轮询)并且不断向对方的服务器发送数据。这也使您能够使用javascript收集更多数据并将其发送到日志记录服务器