提问人:António 提问时间:11/17/2023 最后编辑:António 更新时间:11/17/2023 访问量:18
如何使用 shinyjs 和 shinyfullscreen 全屏启动应用程序
How to start app in fullscreen with shinyjs and shinyfullscreen
问:
我正在尝试找出一种使用 shinyjs::click 来模拟点击事件的方法,这样就可以使用 shinyfullscreen::fullscreen_all 使应用程序全屏显示。
以下代码演示了 shinyfullscreen::fullscreen_all 的用法。它使用模态窗口来模拟登录页面,并有一个关闭按钮,除了关闭模态之外,该按钮使应用程序全屏显示。我还包括 shinyjs::click 来模拟初始点击,这应该使应用程序在启动时全屏显示。但事实并非如此。
library(shiny)
library(bs4Dash)
library(shinyjs)
library(shinyfullscreen)
ui <- dashboardPage(
dashboardHeader(title = "fullscreen App"),
dashboardSidebar(),
dashboardBody(
useShinyjs(),
plotOutput("plot1")
)
)
server <- function(input, output) {
histdata <- rnorm(1)
observeEvent(once = TRUE,ignoreNULL = FALSE, ignoreInit = FALSE, eventExpr = histdata, {
showModal(modalDialog(
title = "Landing Page",
p('some content'),
actionButton("qwert", "Close"),
shinyjs::click("qwert"),
fullscreen_all(click_id = "qwert"),
footer = NULL
))
})
observeEvent(input$qwert, {removeModal()})
output$plot1 <- renderPlot({
plot(rnorm(10))
})
}
shinyApp(ui, server)
这个问题有什么解决方案吗? 谢谢。
我还从这里改编了代码,我认为这更好地说明了问题。
if (interactive()) {
library(shiny)
library(shinyjs)
library(shinyfullscreen)
shinyApp(
ui = fluidPage(
useShinyjs(), # Set up shinyjs
"Count:", textOutput("number", inline = TRUE), br(),
actionButton("btn", "Click me"), br(),
fullscreen_all(click_id = "btn"),
"The button will be pressed automatically every 3 seconds"
),
server = function(input, output) {
output$number <- renderText({
input$btn
})
observe({
click("btn")
print("111")
invalidateLater(3000)
})
}
)
}
答: 暂无答案
评论