Как предотвратить появление кода для добавления изображения в заголовок ShinyDashboard на вкладке браузера? - PullRequest
0 голосов
/ 11 января 2019

Я добавил код для отображения логотипа в заголовке приложения Shinydashboard, над которым я работаю. Изображение отображается, как я и надеялся, но код отображается на вкладке листа интернет-браузера, что явно не идеально, есть ли способ предотвратить это?

Example Image

Соответствующая строка кода, которую я использовал:

dashboardHeader(title = tags$a(tags$img(src = "/MainLogo.png", align = "left")))

Полный рабочий пример приведен ниже (файл изображения находится в папке «www» в папке проекта приложения).

## app.R ##
library(shiny)
library(shinydashboard)

ui <- dashboardPage(

  dashboardHeader(title = tags$a(tags$img(src = "/MainLogo.png", align = "left"))),

  dashboardSidebar(),
  dashboardBody(
    # Boxes need to be put in a row (or column)
    fluidRow(
      box(plotOutput("plot1", height = 250)),

      box(
        title = "Controls",
        sliderInput("slider", "Number of observations:", 1, 100, 50)
      )
    )
  )
)

server <- function(input, output) {
  set.seed(122)
  histdata <- rnorm(500)

  output$plot1 <- renderPlot({
    data <- histdata[seq_len(input$slider)]
    hist(data)
  })
}

shinyApp(ui, server)

Ответы [ 2 ]

0 голосов
/ 11 января 2019

После дополнительного поиска я обнаружил, что одним из решений является добавление нужного заголовка на вкладке браузера в раздел кода dashboardPage, например,

ui <- dashboardPage(
  title = "My Demo App",

Итак, полный код для примера:

## app.R ##
library(shiny)
library(shinydashboard)

ui <- dashboardPage(
  title = "My Demo App",
  dashboardHeader(title = tags$a(tags$img(src = "/MainLogo.png", align = "left"))),

  dashboardSidebar(),
  dashboardBody(
    # Boxes need to be put in a row (or column)
    fluidRow(
      box(plotOutput("plot1", height = 250)),

      box(
        title = "Controls",
        sliderInput("slider", "Number of observations:", 1, 100, 50)
      )
    )
  )
)

server <- function(input, output) {
  set.seed(122)
  histdata <- rnorm(500)

  output$plot1 <- renderPlot({
    data <- histdata[seq_len(input$slider)]
    hist(data)
  })
}

shinyApp(ui, server)
0 голосов
/ 11 января 2019

Я сталкивался с той же проблемой и раньше, надеюсь, это сработает для вас. Мне пришлось оглянуться назад на предыдущее приложение, и это было в моей боковой панели в пользовательском интерфейсе. Возможно, вам придется поэкспериментировать с тем, где оно находится, но оно должно работать.

HTML('<script> document.title = "Internet Tab Name"; </script>')

...