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

在shiny中使用includeHTML显示html文件不适用于renderUI(),shiny,leaflet,htmlwidgets,Shiny,Leaflet,Htmlwidgets,我有一个保存的html小部件(来自传单),我想在一个闪亮的应用程序中显示 使用includeHTML()。我有许多.html文件,我想让用户通过选择输入来选择,所以我需要一个动态解决方案 这个广受欢迎的帖子给出的答案有一个动态的解决方案,但它对我不起作用。不会给出错误,也不会呈现任何内容 总之: 有效 ui <- fluidPage( includeHTML("foo.html") ) ui一种可能的解决方案: 在server.R中,您需要以下内容: output$inc <-

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

使用
includeHTML()。我有许多.html文件,我想让用户通过选择输入来选择,所以我需要一个动态解决方案

这个广受欢迎的帖子给出的答案有一个动态的解决方案,但它对我不起作用。不会给出错误,也不会呈现任何内容

总之:

有效

ui <- fluidPage(
  includeHTML("foo.html")
)
ui一种可能的解决方案:
在
server.R
中,您需要以下内容:

output$inc <- renderUI(includeHTML("./foo.html"))
一种可能的解决办法: 在
server.R
中,您需要以下内容:

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

问题是编织一个.Rmd文件会创建一个包含
等内容的HTML文档,而
fluidPage()
则会执行完全相同的操作。因此,在
fluidPage()
中包含完整的HTML文档会因冗余而产生问题。幸运的是,有一个非常简单的解决方案:在编织并将其保存为.html文档之前,在.Rmd文件的YAML头中使用
output:html\u fragment

问题是编织一个.Rmd文件会创建一个包含
等内容的html文档,而
fluidPage()
的作用完全相同。因此,在
fluidPage()
中包含完整的HTML文档会因冗余而产生问题。幸运的是,有一个非常简单的解决方案:在编织并保存为.html文档之前,在.Rmd文件的YAML头中使用
output:html\u fragment

这是因为
foo.html
是一个完整的html文件。函数
includeHTML
用于HTML片段:介于
之间的内容。但你肯定需要头球。我会尝试使用
iframe
。编辑:啊,最后我不确定了。因为你说第一种选择有效。。。奇怪。对我来说,你的第二个选项也有效(使用RStudio的rmarkdown示例foo.html)。你能链接这个示例吗?使用RStudio时,单击左上角的文件选项卡->新建文件->R标记。但我认为HTML文件不会是问题所在。你检查过你的路线了吗?该文件位于www文件夹中还是在当前工作目录中可用?请参阅
?addResourcePath
,了解任何面临相同问题的人-您可以通过将动态html内容放入iframe来解决此问题。这个线程提到了解决方案,这是因为
foo.html
是一个完整的html文件。函数
includeHTML
用于HTML片段:介于
之间的内容。但你肯定需要头球。我会尝试使用
iframe
。编辑:啊,最后我不确定了。因为你说第一种选择有效。。。奇怪。对我来说,你的第二个选项也有效(使用RStudio的rmarkdown示例foo.html)。你能链接这个示例吗?使用RStudio时,单击左上角的文件选项卡->新建文件->R标记。但我认为HTML文件不会是问题所在。你检查过你的路线了吗?该文件位于www文件夹中还是在当前工作目录中可用?请参阅
?addResourcePath
,了解任何面临相同问题的人-您可以通过将动态html内容放入iframe来解决此问题。这个帖子提到了解决方案
fluidRow(box(htmlOutput("inc"), width =12))