闪亮的网站图标
Posted
技术标签:
【中文标题】闪亮的网站图标【英文标题】: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 中)
你知道怎么做吗?谢谢
【问题讨论】:
【参考方案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)
【讨论】:
以上是关于闪亮的网站图标的主要内容,如果未能解决你的问题,请参考以下文章