2015-11-25 80 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

相關問題