2015-09-02 17 views
6

Tôi làm cách nào để truy cập cookie và dữ liệu phiên liên quan đến trình duyệt khác từ trong ứng dụng Quảng cáo?Cách truy cập phiên/cookie của trình duyệt từ trong Ứng dụng sáng bóng

Với session$clientData, chúng tôi có thể để có được thông tin chi tiết khách hàng khác như máy chủ, cổng, param truy vấn ...

Có cách nào khác để có được cookie trong ứng dụng sáng bóng?

+0

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 –

+0

Có thể không có javascript không? – sag

+1

Có thể, nhưng không phải là tôi biết của –

Trả lời

3

Để 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 
}) 

}) 
Các vấn đề liên quan