使用Shiny中的InceplyHTML显示HTML文件不适用于Renderui()



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

使用includeHTML()在UI.R中给出时可起作用,但使用renderUI()动态调用时不行。我有许多.html文件,我希望用户可以选择一个选择输入,因此我需要动态解决方案。

Shiny App中此流行帖子显示HTML文件中接受的答案具有动态解决方案,但对我不起作用。没有错误,也没有任何错误。

总结:

works

ui <- fluidPage(
  includeHTML("foo.html")
)

不起作用

ui <- fluidPage(
  htmlOutput("map")
)
server <- function(input,output){
  output$map <- renderUI({
     includeHTML(path = "foo.html")
   })
}

这篇文章也是相关的,但找不到解决方案。

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

一种可能的解决方案:在server.R中,您需要以下内容:

output$inc <- renderUI(includeHTML("./foo.html"))

请使用相对路径。在ui.R

fluidRow(box(htmlOutput("inc"), width =12))

相关内容

  • 没有找到相关文章

最新更新