【问题标题】:Favicon in Shiny闪亮的网站图标
【发布时间】:2021-12-06 16:15:30
【问题描述】:

我想在我的 WebApp 中添加一个网站图标

我正在使用这条线,但它不起作用:

HTML("<link rel=\"icon\" type=\"image/png\" href=\"image.png\" />")

在 ui.R 脚本内部和shinyUI() 函数外部。我还有 server.R 和 ui.R 所在的 image.png。 (我也试过把它放在文件夹 /www 中)

你知道怎么做吗?谢谢

【问题讨论】:

    标签: r shiny favicon


    【解决方案1】:

    如果您使用的是本地 runapp,则将其放入 我相信 /www/favicon.ico 应该可以工作。

    你也可以在你的 UI 中插入这个:

    tags$head(tags$link(rel="shortcut icon", href="URL-to-favicon"))

    Joe Cheng

    【讨论】:

    • 谢谢你,乔。这真的很容易。 Shiny 自动检测 /www/favicon.ico 中有一个网站图标
    • tags$head 解决方案在为站点启用 HTTPS 后停止为我工作,很可能是因为 tags$head href 是 http。不过,将 favicon 放在 /srv/shiny-server/favicon.ico 对我有用。
    • 当我在 shinyapps.io 上部署它时,它不会显示徽标。仅适用于本地。
    • 我使用tags$head(tags$link(rel="shortcut icon", href="favicon.ico")) 让它在本地运行,图像文件位于“www”目录中。
    【解决方案2】:

    OP 可能遇到的问题是 favicon 文件名应该是 favicon.ico 而不是 image.png。

    这里有一些额外的细节:favicon.png vs favicon.ico - why should I use PNG instead of ICO?

    重要的部分是:

    所有现代浏览器(使用 Chrome 4、Firefox 3.5、IE8、Opera 10 测试 和 Safari 4) 将始终请求 favicon.ico,除非您已经 通过 指定快捷方式图标。所以如果你没有明确 指定一个,最好总是有一个 favicon.ico 文件,以避免 404.

    【讨论】:

    • 您的报价与您的回答相矛盾。 OP 已经通过链接标签指定了一个快捷方式。
    【解决方案3】:

    您可以将您的 favicon 转换为 base64 文本(查看 favicon.cc 网站,他们已经这样做了)并写入:

    ui <- function(){tagList(
    
    fluidPage(
    
    
    titlePanel(
      windowTitle = "Title that appears in the browser bar",
      title = tags$head(tags$link(rel="icon", 
                                  href="data:image/x-icon;base64,AAABAAEAEBAQAAEAetc", 
                                  type="image/x-icon")
                        )),
    
    sidebarLayout( sidebarPanel(
    

    【讨论】:

      【解决方案4】:

      我能够在 Internet Explorer 和 chrome 上使用此代码让 favicon 在 r shiny 中工作:

      ui <- fluidPage(
        titlePanel(
          windowTitle = "NOAA",
          title = tags$head(tags$link(rel="shortcut icon", 
                                      href="https://www.noaa.gov/sites/all/themes/custom/noaa/favicon.ico", 
                                      type="image/vnd.microsoft.icon")))
      ###... rest of code
      )
      
      server <- function(input, output, session) {
      ###... rest of code
      }
      
      runApp(shinyApp(ui = ui, server = server), launch.browser = TRUE)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-09-25
        • 2021-07-09
        • 1970-01-01
        • 1970-01-01
        • 2021-06-17
        • 2018-03-13
        • 1970-01-01
        相关资源
        最近更新 更多