Để xây dựng trên các nhận xét tuyệt vời, bạn có thể sử dụng gói js.cookie.js với hàm Shiny.OnInputChange() để trả về cookie.
Một ứng dụng ví dụ là ở đây: 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
})
})
Bạn có thể nhận nó ở phía bên javascript và sử dụng 'Shiny.onInputChange' để chuyển nó trở lại thành Shiny –
Có thể không có javascript không? – sag
Có thể, nhưng không phải là tôi biết của –