Shiny 闪亮服务器:跟踪用户从应用程序导航的时间

Shiny 闪亮服务器:跟踪用户从应用程序导航的时间,shiny,shiny-server,shinydashboard,shinyjs,Shiny,Shiny Server,Shinydashboard,Shinyjs,我有一个闪亮的仪表板应用程序在开源闪亮服务器上运行,该服务器在浏览器中打开。然后,用户提供用户名和密码以查看各自的仪表板。我想知道用户何时离开页面或关闭浏览器窗口。我知道我可以使用shinyjs的OneEvent功能,但不知道如何使用。我想到的伪代码如下: name=input$username start_time=Sys.time() onevent("user navigates away/ closes the browser") end_time=Sys

我有一个闪亮的仪表板应用程序在开源闪亮服务器上运行,该服务器在浏览器中打开。然后,用户提供用户名和密码以查看各自的仪表板。我想知道用户何时离开页面或关闭浏览器窗口。我知道我可以使用shinyjs的OneEvent功能,但不知道如何使用。我想到的伪代码如下:

    name=input$username
    start_time=Sys.time()
    onevent("user navigates away/ closes the browser")
    end_time=Sys.time()
    write.table(name,start_time,end_time)

感谢任何帮助或指导。提前感谢。

尝试使用
会话$onEnded
注册回调,以便在客户端断开连接后运行

shinyApp(
  ui    = shinyUI(fluidPage()),
  server= shinyServer(function(input,output,session){
    session$onEnded(function(){
      # I will be called after the client has disconnected
      print('closed')
    })
  })
)

在Shining server的开源版本中,您无法超时会话。我的代码中已经有session$onEnded块,但它没有用。这就是为什么我想知道,当用户关闭浏览器或离开页面时,我是否可以注册一个事件。