在闪亮中使用 includeHTML 显示 html 文件不适用于 renderUI()

Ada*_*aum 4 leaflet shiny htmlwidgets

我有一个保存的 html 小部件(来自传单),我想在闪亮的应用程序中显示它。

usingincludeHTML()在 ui.R 中给出时有效,但在使用 动态调用时无效renderUI()。我有很多 .html 文件,我希望用户通过选择输入进行选择,所以我需要一个动态解决方案。

这篇流行文章在 Shiny App 中显示 HTML 文件的接受答案有一个动态解决方案,但它对我不起作用。没有给出错误,也没有渲染任何内容。

总之:

作品

ui <- fluidPage(
  includeHTML("foo.html")
)
Run Code Online (Sandbox Code Playgroud)

不起作用

ui <- fluidPage(
  htmlOutput("map")
)

server <- function(input,output){
  output$map <- renderUI({
     includeHTML(path = "foo.html")
   })
}
Run Code Online (Sandbox Code Playgroud)

这个帖子也有相关,但是没找到解决办法。

小智 5

问题是,编织 .Rmd 文件会创建一个 HTML 文档,<html><head><title><body>等等。 while 的fluidPage()作用完全相同。因此,包含完整的 HTML 文档会fluidPage()因冗余而产生问题。幸运的是,有一个非常简单的解决方案:output: html_fragment在编织并将其另存为 .html 文档之前,在 .Rmd 文件的 YAML 标头中使用。