Shiny Iframe没有显示任何网站。

6

我正在尝试在Shiny中显示一个包含网站的iframe,但它总是显示空白页面。

以下是从另一个问题中提取的代码:

代码:

 rm(list = ls())
library(shiny)
members <- data.frame(name=c("Name 1", "Name 2"), nr=c('BCRA1','FITM2'))

ui <- fluidPage(titlePanel("Getting Iframe"), 

                  mainPanel(fluidRow(
                    htmlOutput("my_test")
                  )
                  )
                )

server <- function(input, output) {
  output$my_test <- renderUI({
     tags$iframe(src='https://www.google.co.in/', height=600, width=535)
  })
}

shinyApp(ui, server)

输出: 输入图像描述 为什么我不能显示任何网站。请帮帮我,我已经搜索了很多并尝试了许多选项,包括renderUI、htmloutput和uioutput面板。


2
我可以确认你提供的示例和相关问题中的示例都显示了一个空白的iframe。在这两种情况下,JavaScript控制台都会给出错误信息“Refused to display 'https://www.google.co.in/' in a frame because it set 'X-Frame-Options' to 'sameorigin'.”。更多参考请查看这里 - Gregor de Cillia
谢谢@GregordeCillia - 我检查了本地Web服务器,它正常工作。Google是一个通常用来检查的网站,所以之前没有检查其他网站。请将其提交为答案 - 我会标记为完成;但R控制台没有抛出错误。我如何知道这种情况? - surpavan
我刚刚发布了一个答案,并包含了访问JavaScript控制台的键盘快捷方式。由于shiny无法将JavaScript中的很多错误消息返回给R,因此建议您时不时检查一下该控制台,以保持您的应用程序稳定。 - Gregor de Cillia
1个回答

3
所以你面临的问题是,您引用的站点将 X-Frame-Options 设置为 sameorigin。这意味着 iframes 基本上被 https://www.google.co.in 服务器阻止。
您可以在 javascript 控制台中看到相应的错误消息,可以通过 google chrome 中的 Ctrl+shift+K 访问。对于其他浏览器,请参见这里
有关 X-Frame-Options 问题的某些解决方法和更多讨论可在此问题中找到。

寻找这个问题的 R 解决方法。 - Brandon Rose MD MPH

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接