【问题标题】:Shiny Iframe not showing any website闪亮的 iframe 不显示任何网站
【发布时间】:2018-09-25 07:35:54
【问题描述】:

我正在尝试显示一个带有闪亮网站的 iframe,但它总是显示空白页面。

下面是取自different question的代码

代码:

 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 面板。

【问题讨论】:

  • 我可以确认您的示例或链接问题中的示例均显示空白 iframe。在这两种情况下,javascript 控制台都会给我错误 Refused to display 'https://www.google.co.in/' in a frame because it set 'X-Frame-Options' to 'sameorigin'.。更多参考请见here
  • 谢谢@GregordeCillia - 我检查了一个本地网络服务器,它工作正常。谷歌一般来说是一个常见的网站,所以之前没有检查其他网站。请将其作为答案提交 - 我会将其标记为完成;但 R 控制台没有将其作为错误抛出。我怎么知道这种情况?
  • 我刚刚发布了一个答案,并包含了一个用于访问 JavaScript 控制台的键盘快捷键。 Shiny 不会将 JavaScript 中的很多错误消息返回给 R,因此我建议不时检查此控制台以保持您的应用程序稳定。

标签: r iframe shiny


【解决方案1】:

所以您面临的问题是您引用的站点将X-Frame-Options 设置为sameorigin。这意味着iframes基本上被https://www.google.co.in服务器屏蔽了。

您可以在 javascript 控制台中看到相应的错误消息,可以在 google chrome 中使用 Ctrl+shift+K 进行访问。对于其他浏览器,请参阅here

可以在this question 中找到有关X-Frame-Options 问题的某些解决方法和讨论。

【讨论】:

    猜你喜欢
    • 2018-01-05
    • 1970-01-01
    • 2021-12-06
    • 2018-12-21
    • 2015-08-30
    • 2021-01-17
    • 2014-07-05
    • 2016-03-13
    相关资源
    最近更新 更多