2015-09-02 27 views
6

के भीतर से ब्राउज़र सत्र/कुकीज़ तक कैसे पहुंचे I Shiny ऐप के भीतर से कुकीज़ और अन्य ब्राउज़र से संबंधित सत्र डेटा कैसे एक्सेस कर सकते हैं?चमकदार ऐप

session$clientData साथ

, हम मेजबान, बंदरगाह, क्वेरी परम जैसे अन्य ग्राहक जानकारी प्राप्त करने में सक्षम हैं ...

वहाँ चमकदार अनुप्रयोग में कुकीज़ को पाने के लिए किसी भी अन्य रास्ता नहीं है?

+0

आप प्राप्त कर सकते हैं यह जावास्क्रिप्ट पक्ष पर है और इसे चमकदार –

+0

में वापस लाने के लिए 'Shiny.onInputChange' का उपयोग करें जावास्क्रिप्ट के बिना यह संभव नहीं है? – sag

+1

शायद, लेकिन मुझे नहीं पता कि –

उत्तर

3

महान टिप्पणियों को बनाने के लिए, आप कुकीज़ को वापस करने के लिए shiny.OnInputChange() फ़ंक्शन के साथ js.cookie.js पैकेज का उपयोग कर सकते हैं।

एक उदाहरण ऐप आ गया है: 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 
}) 

})