我有这个应用程序正在使用4Gb RAM Shiny服务器,但我也将它上传到shinyapps.io(仅限1Gb RAM)。问题是其中一个选项卡将始终使应用程序崩溃。实际上,此选项卡需要超过1Gb的RAM才能运行。
所以我想知道是否有办法让应用程序喜欢它,用户可以看到所有标签(所以他知道应用程序可以用一台好的服务器做什么)。但也要使其中一个标签无法访问。我的意思是用户可以浏览所有选项卡,除非他超出特定的崩溃选项卡,有一些没有为用户弹出的输入标志。所以他不能单击此选项卡,但他仍然可以看到它。
谢谢,我认为这是不可能的,但我们永远不会知道!也许有一些Javascript或CSS!
我的所有标签都是这样的:
答案 0 :(得分:0)
有点破解但是工作的例子
1)将id添加到所有选项卡和hrefs(为其创建函数)
2)禁用它
在动作按钮上禁用选项卡表(我不知道如何估计“好的服务器”,因此禁用了制表符)
library(shiny)
library(shinyjs)
server<-shinyServer(function(input, output) {
observeEvent(input$disable,{
disable("Table")
disable("Table_")
})
})
add_id=function(ss){
ss$children[[1]]$children=lapply(ss$children[[1]]$children,function(i){
i$attribs=list(id=i$children[[1]]$attribs["data-value"][[1]])
i$children[[1]]$attribs=c(i$children[[1]]$attribs,id=paste0(i$children[[1]]$attribs["data-value"][[1]],"_"))
return(i)
})
return(ss)
}
ui<-shinyUI(fluidPage(
useShinyjs(),
actionButton("disable","disable"),
add_id(tabsetPanel(
tabPanel("Plot", h1("1")),
tabPanel("Summary", h1("2")),
tabPanel("Table", h1("3"))
))
))
runApp(list(ui=ui,server=server))