首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用htmltools::tag$iframe显示htmltools中的html文件不适用于renderUI()

使用htmltools::tag$iframe显示htmltools中的html文件不适用于renderUI()
EN

Stack Overflow用户
提问于 2020-08-14 03:45:26
回答 1查看 866关注 0票数 1

这是我在StackOverflow中的第一个问题。如果问题没有以适当的格式表示,请原谅。我有一个保存下来的html小部件,它是使用flowmapblue.R生成的,我想在一个Markdown闪亮的文档中显示它。我使用htmltools::tag$iframe将HTML文件包含在闪亮的应用程序中。该文件保存在www目录下。作为您的参考,我将在下面的链接中共享这个HTML。正在工作并产生预期结果的代码是:

代码语言:javascript
复制
---
title: "Flow Map"
author: "xyz"
date: "8/14/2020"
output: html_document
runtime: shiny
---

```{r flowmap, echo=FALSE, message=FALSE, warning=FALSE}
代码语言:javascript
复制
titlePanel("Mobility Flow Map")
代码语言:javascript
复制
mainPanel (htmltools::tags$iframe(src ="June_Spain.html", seamless="seamless", height=600, width="100%"))
代码语言:javascript
复制

我要得到这个结果,不使用renderUI的结果。但实际上,我的Markdown闪亮文档将响应用户可以选择区域和所需的月份。根据这些名称,将选择相关的HTML文件。这就是为什么我需要使用下面的代码片段:

代码语言:javascript
复制
---
title: "Flow Map"
author: "xyz"
date: "8/14/2020"
output: html_document
runtime: shiny
---

```{r flowmap, echo=FALSE, message=FALSE, warning=FALSE}

titlePanel(“流动流程图”)

代码语言:javascript
复制
mainPanel(
代码语言:javascript
复制
            htmlOutput("display_map")
代码语言:javascript
复制
         )
代码语言:javascript
复制
output$display_map <- renderUI({
代码语言:javascript
复制
    my_test <-  htmltools::tags$iframe(src="June_Spain.html", seamless="seamless", height=600, width="100%")
代码语言:javascript
复制
    my_test
代码语言:javascript
复制
  })
代码语言:javascript
复制

在这种情况下,HTML并不如使用renderUI的结果中所示。我在renderUI()和htmlOutput()中检查了几个类似的问题,但是我不知道问题出在哪里。在这方面我迫切需要你的帮助。提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-08-15 00:32:26

真奇怪。作为一种解决方法,您可以将base64编码为一个HTML字符串:

代码语言:javascript
复制
b64 <- base64enc::dataURI(file = "www/June_Spain.html", mime = "text/html")
output$display_map <- renderUI({
  htmltools::tags$iframe(src=b64,  height=600, width="100%")
})
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63406208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档