如何解决使用闪亮的htmltools :: tags $ iframe显示html文件不适用于renderUI
这是我在StackOverflow中的第一个问题。如果问题的格式不正确,请原谅我。 我有一个保存的HTML小部件,它是使用flowmapblue.R生成的,想要显示在Markdown闪亮文档中。 我正在使用 htmltools :: tags $ iframe 将HTML文件包含在Shiny应用程序中。该文件保存在 www目录下。供您参考,我在下面的LINK中共享HTML文件。 可以正常工作并给出预期结果的代码是:
---
title: "Flow Map"
author: "xyz"
date: "8/14/2020"
output: html_document
runtime: shiny
---
```{r flowmap,echo=FALSE,message=FALSE,warning=FALSE}
titlePanel("Mobility Flow Map")
mainPanel (htmltools::tags$iframe(src ="June_Spain.html",seamless="seamless",height=600,width="100%"))
```
我得到这个结果Result without using renderUI。 但是实际上,我的Markdown Shiny文档将做出响应,用户可以在其中选择区域和所需的月份。基于这些名称,将选择相关的HTML文件。这就是为什么我需要使用下面的以下代码片段:
---
title: "Flow Map"
author: "xyz"
date: "8/14/2020"
output: html_document
runtime: shiny
---
```{r flowmap,warning=FALSE}
titlePanel("Mobility Flow Map")
mainPanel(
htmlOutput("display_map")
)
output$display_map <- renderUI({
my_test <- htmltools::tags$iframe(src="June_Spain.html",width="100%")
my_test
})
```
在这种情况下,找不到Result using renderUI中所示的HTML文件。 我检查了renderUI()和htmlOutput()的一些类似问题,但无法确定问题出在哪里。在这方面,我非常需要您的帮助。预先感谢。
解决方法
奇怪。作为解决方法,您可以将HTML编码为base64字符串:
b64 <- base64enc::dataURI(file = "www/June_Spain.html",mime = "text/html")
output$display_map <- renderUI({
htmltools::tags$iframe(src=b64,height=600,width="100%")
})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。