我有一个保存的html小部件(来自传单),我想在闪亮的应用程序中显示。
在ui.R中给定includeHTML()
时可以使用,但是在使用renderUI()
进行动态调用时不能使用。我有很多.html文件,我希望用户通过选择输入来选择它们,因此我需要动态解决方案。
此受欢迎的帖子Display HTML file in Shiny App接受的答案具有动态解决方案,但不适用于我。没有错误,也没有任何呈现。
总结:
工程
ui <- fluidPage(
includeHTML("foo.html")
)
不起作用
ui <- fluidPage(
htmlOutput("map")
)
server <- function(input,output){
output$map <- renderUI({
includeHTML(path = "foo.html")
})
}
This帖子也与此相关,但未找到解决方案。
答案 0 :(得分:0)
一种可能的解决方案:
在 server.R
中,您需要以下内容:
output$inc <- renderUI(includeHTML("./foo.html"))
请使用相对路径。而在ui.R
fluidRow(box(htmlOutput("inc"), width =12))
答案 1 :(得分:0)
问题是编织一个 .Rmd 文件会创建一个带有 <html><head><title><body>
等的 HTML 文档,而 fluidPage()
的作用完全相同。因此,将完整的 HTML 文档包含到 fluidPage()
中会由于冗余而产生问题。幸运的是,有一个非常简单的解决方案:在编织并保存为 .html 文档之前,在 .Rmd 文件的 YAML 标头中使用 output: html_fragment
。