Aby zbudować na świetnych komentarzach, możesz użyć pakietu js.cookie.js z funkcją Shiny.OnInputChange(), aby zwrócić pliki cookie.
Przykładem aplikacji jest tutaj: 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
})
})
można dostać to po stronie javascript i użyj 'Shiny.onInputChange', aby przekazać go z powrotem do Shiny –
Czy nie jest to możliwe bez javascript? – sag
Może, ale nie to, że znam –