如何用Shiny输入按钮同步控制Shiny与嵌套Quarto网站的主题?
问题:用Shiny开关同时控制Shiny应用与嵌入的Quarto网站主题?
我正在构建一个带文档标签页的Shiny应用,计划使用tags$iframe嵌入渲染完成的Quarto网站。Quarto支持明暗模式切换开关,但目前Shiny应用和嵌入的Quarto网站各有独立的主题切换按钮,用户需要点击两个不同开关才能同步主题,体验不佳:
- 仅Shiny切换至深色模式的效果:

- Shiny与Quarto均切换至深色模式的效果:

示例应用效果:
请问能否用Shiny的输入按钮同时控制Shiny应用与Quarto网站的主题?
现有Shiny应用代码
library(shiny) library(bslib) library(htmltools) ui <- page_fillable( input_dark_mode(id = "shiny_control", mode = "light"), tags$iframe( src = "_site/index.html", style = "height:86vh" ) ) server <- function(input, output, session) { } shinyApp(ui, server)
完整应用结构
├── app.R <- Shiny app ├── control_quarto_theme_from_Shiny.Rproj └── www └── _site <- Rendered Quarto Website files ├── about.html ├── index.html ├── search.json ├── site_libs │ ├── bootstrap │ │ ├── bootstrap-dark.min.css │ │ ├── bootstrap-icons.css │ │ ├── bootstrap-icons.woff │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.js │ ├── clipboard │ │ └── clipboard.min.js │ ├── quarto-html │ │ ├── anchor.min.js │ │ ├── popper.min.js │ │ ├── quarto-syntax-highlighting-dark.css │ │ ├── quarto-syntax-highlighting.css │ │ ├── quarto.js │ │ ├── tippy.css │ │ └── tippy.umd.min.js │ ├── quarto-nav │ │ ├── headroom.min.js │ │ └── quarto-nav.js │ └── quarto-search │ ├── autocomplete.umd.js │ ├── fuse.min.js │ └── quarto-search.js └── styles.css
内容的提问来源于stack exchange,提问作者Grasshopper_NZ
相关产品推荐
相关产品推荐

