【问题标题】:How to get the current URL for Shiny App?如何获取 Shiny App 的当前 URL?
【发布时间】:2021-01-14 07:19:42
【问题描述】:

当我在 RStudio 上运行闪亮的应用程序时,我的应用程序运行并且 URL 如下所示:

Listening on http://127.0.0.1:4991

但是每次我再次运行应用程序时,端口都会改变,我想知道是否有办法将 url 作为变量或类似的东西获取。我的意思是,每次运行应用程序时,我都想获取 URL 并将其保存在变量中。

谢谢

【问题讨论】:

  • 那么使用命令运行它并提供端口作为参数?

标签: r shiny shiny-server shinyapps


【解决方案1】:

您可以使用选项指定端口:

#example: https://shiny.rstudio.com/articles/basics.html

options(shiny.host = '0.0.0.0')
options(shiny.port = 8888)

ui <- fluidPage(
  
  # App title ----
  titlePanel("Hello Shiny!"),
  
  # Sidebar layout with input and output definitions ----
  sidebarLayout(
    
    # Sidebar panel for inputs ----
    sidebarPanel(
      
      # Input: Slider for the number of bins ----
      sliderInput(inputId = "bins",
                  label = "Number of bins:",
                  min = 1,
                  max = 50,
                  value = 30)
      
    ),
    
    # Main panel for displaying outputs ----
    mainPanel(
      
      # Output: Histogram ----
      plotOutput(outputId = "distPlot")
      
    )
  )
)

# Define server logic required to draw a histogram ----
server <- function(input, output) {
  
  # Histogram of the Old Faithful Geyser Data ----
  # with requested number of bins
  # This expression that generates a histogram is wrapped in a call
  # to renderPlot to indicate that:
  #
  # 1. It is "reactive" and therefore should be automatically
  #    re-executed when inputs (input$bins) change
  # 2. Its output type is a plot
  output$distPlot <- renderPlot({
    
    x    <- faithful$waiting
    bins <- seq(min(x), max(x), length.out = input$bins + 1)
    
    hist(x, breaks = bins, col = "#75AADB", border = "white",
         xlab = "Waiting time to next eruption (in mins)",
         main = "Histogram of waiting times")
    
  })
  
}

shinyApp(ui, server)

【讨论】:

    【解决方案2】:

    您可以通过session$clientData获取网址:

    library(shiny)
    
    ui <- basicPage()
    
    server <- function(input, output, session){
      
      observe({
        print(reactiveValuesToList(session$clientData))
      })
      
    }
    
    shinyApp(ui, server)
    

    【讨论】:

      猜你喜欢
      • 2019-10-04
      • 2021-08-02
      • 2018-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-27
      • 2019-09-23
      • 1970-01-01
      相关资源
      最近更新 更多