2015-11-25 43 views
1

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

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) 

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

回答

1

尝试使用session$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') 
    }) 
    }) 
) 
+0

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

相关问题