求助:bslib card的full_screen功能在Shiny中失效,Markdown中正常
解决bslib卡片全屏功能在Shiny应用中失效的问题
问题描述
使用bslib的card()组件时,设置full_screen = TRUE在Markdown文档中可正常触发全屏功能,但在Shiny应用内点击全屏按钮无反应。
复现代码
library(shiny) library(bslib) ui <- fluidPage( bslib::card(full_screen = TRUE, bslib::card_header("Full screen is not working within shiny but works as html only")) ) server <- function(input, output) { } shinyApp(ui, server)
解决方案
方案1:用bslib::page替代shiny::fluidPage
bslib的page()函数会自动加载卡片全屏功能所需的JavaScript和样式资源,而shiny::fluidPage()可能缺失这些依赖。修改UI代码如下:
ui <- bslib::page( bslib::card(full_screen = TRUE, bslib::card_header("Full screen now works with bslib::page")) )
方案2:升级bslib到最新版本
旧版本bslib(如0.4.2)在Shiny环境下存在全屏功能兼容性问题,更新到最新版本可修复:
install.packages("bslib")
验证说明
替换fluidPage为bslib::page后,启动Shiny应用,卡片右上角会出现全屏按钮,点击即可正常进入/退出全屏模式。
内容的提问来源于stack exchange,提问作者Riyadh
相关产品推荐
相关产品推荐

