我知道新的Rails应用程序带有一个空的favicon.ico文件。 我想知道如何添加一个favicon。 我知道你可以使用favicon_link_tag
辅助工具,但我不确定如何填充favicon.ico文件。 你会使用favicon生成器吗? 如果是这样,哪一个是最好的?
我也想能够缓存它,Rails会自动处理吗?
谢谢
我知道新的Rails应用程序带有一个空的favicon.ico文件。 我想知道如何添加一个favicon。 我知道你可以使用favicon_link_tag
辅助工具,但我不确定如何填充favicon.ico文件。 你会使用favicon生成器吗? 如果是这样,哪一个是最好的?
我也想能够缓存它,Rails会自动处理吗?
谢谢
只需将以下代码添加到您的布局文件的 <head></head>
部分:
<%= favicon_link_tag 'favicon.ico' %>
如果您使用资产管道,请将favicon.ico图像放置在/app/assets/images/
中;如果不使用,请将其放置在/public/images/
中。
另外,如果在Rails 3.0.20(也许还包括3.0.x)中使用Ruby 2.0,则会出现错误,尝试呈现favicon.ico时会抛出异常。
解决方法是将以下代码放入application_controller.rb
:
config.relative_url_root = ""
你可以在这里生成你的网站图标: http://www.favicon.cc/,然后将其放置在public/目录下。
更新: 公共文件夹中的网站图标没有预编译,且可能被长时间缓存。因此最好使用favicon_link_tag避免图标更新问题。我不确定浏览器是否需要在根目录下的网站图标。根据网站图标维基上的说明,所有现代浏览器都支持。
<link rel="shortcut icon" href="favicon path" /> (favicon_link_tag)
www.website.com
时,可以看到网站的favicon图标,但是当我只访问website.com
时,它就不显示了? - noob<%= favicon_link_tag 'favicon.ico' %>
在application.html.haml中编写:
= favicon_link_tag '/images/favicon.ico'
请将文件 favicon.ico 放置在以下目录中:
project/public/images
您需要一个名为 favicon.ico 的 16x16 像素图像文件,并且它必须公开在您网站的根目录下。
您可以使用主要的图像编辑器将您的标志或其他图像转换为 .ico 格式。还有免费选项,如 Gimp,可以基于现有图像制作出更好的图标,比在线图标生成器更好。
要为所有平台(不仅限于桌面浏览器)生成网站图标,您可以使用RealFaviconGenerator和rails_real_favicon宝石:
rails_real_favicon
宝石添加到您的Gemfile
中favicon.json
的新文件。 此文件描述了您刚刚设计的图标。rails generate favicon
以实际创建图标和HTML代码。render 'favicon'
以在页面中插入HTML代码。favicon.ico
,apple-touch-icon.png
,以及 browserconfig.xml
和 manifest.json
)注入到资产管道中。我尝试了上面的链接和服务,但它们并不是很简单易用。我在另一个网站上找到了这个链接,它完美地复制了我的 .png 文件,并且非常容易使用。我想分享这个链接,因为我认为它是更好的服务。
?v=version
选项来帮助解决浏览器缓存问题。这对我很有帮助。public
和app/assets/images
中。您只需要一个,但如果您不知道哪个,将其复制到两个位置不会有影响...或者您可以尝试一下哪个有效 - 利用?v=version
进行测试。<head></head>
部分添加以下行(例如application.html.erb):<%= favicon_link_tag 'favicon.ico' %>
希望这提供了一个简单的方法。如果我漏掉了什么,相信会有人改进这个答案。