R 如何从应用程序中访问浏览器会话/cookie
如何从一个闪亮的应用程序中访问cookie和其他与浏览器相关的会话数据 使用,我们可以获得其他客户端详细信息,如主机、端口、查询参数R 如何从应用程序中访问浏览器会话/cookie,r,cookies,shiny,R,Cookies,Shiny,如何从一个闪亮的应用程序中访问cookie和其他与浏览器相关的会话数据 使用,我们可以获得其他客户端详细信息,如主机、端口、查询参数 有没有其他方法可以在shiny app中获取cookie?要基于这些好的评论,您可以使用js.cookie.js包和shiny.OnInputChange()函数返回cookie 下面是一个示例应用程序: --用户界面-- ) --服务器.r-- 您可以在javascript端获取它,并使用Shiny.onInputChange将其传递回ShinyIs没有java
有没有其他方法可以在shiny app中获取cookie?要基于这些好的评论,您可以使用js.cookie.js包和shiny.OnInputChange()函数返回cookie 下面是一个示例应用程序: --用户界面-- ) --服务器.r--
您可以在javascript端获取它,并使用
Shiny.onInputChange
将其传递回ShinyIs没有javascript是不可能的吗?也许,但据我所知,这可能会有所帮助:session$request$HTTP\u COOKIE
。正如@daatali所说,shinny有一些功能:js到服务器:shinny.onInputChange(id,data)
;服务器到js:会话$sendCustomMessage(id,数据)
;js处理程序:shinny.addCustomMessageHandler(id,函数)
<代码>闪亮服务器似乎删除了一些http头。这不是一个好主意,会话$request$HTTP\u COOKIE
将为空。请问您是否可以在闪亮的应用程序启动后立即捕获cookies,而无需单击按钮?谢谢
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);
};
')
library(shiny)
shinyServer(function(input, output,session) {
output$results = renderPrint({
input$mydata
})
})