How to access browser session / cookies from Shiny app

How can I access cookies and other browser related data from the Shiny app?

With session $ clientData , we can get other client data, such as host, port, query param ...

Is there any other way to get cookies in a brilliant app?

+6
source share
1 answer

To use great comments, you can use the js.cookie.js package with the Shiny.OnInputChange () function to return cookies.

Sample application here: https://beta.rstudioconnect.com/iwallace/cookies/

- ui.r -

library(shiny) library(shinydashboard) fluidPage( tags$head(tags$script(src="js.cookie.js")), # a shiny element to display unformatted text box(title ="click the gray square to view cookies!", verbatimTextOutput("results"),actionButton("go","click me")), # javascript code to send data to shiny server tags$script(' document.getElementById("go").onclick = function() { var number = Math.random(); Cookies.set(\'name\', \'value\', { expires: 7 }); Cookies.set(\'cookie_2\', \'value\', { expires: 7 }); var my_cookie = Cookies.get(); Shiny.onInputChange("mydata", my_cookie); }; ') 

)

- server.r -

 library(shiny) shinyServer(function(input, output,session) { output$results = renderPrint({ input$mydata }) }) 
+3
source

All Articles