Ruby on rails 4 如何将多个favicon.ico大小与rails 4中的favicon_link_标记辅助对象一起使用
我的问题只是当使用Ruby on rails 4 如何将多个favicon.ico大小与rails 4中的favicon_link_标记辅助对象一起使用,ruby-on-rails-4,favicon,Ruby On Rails 4,Favicon,我的问题只是当使用favicon\u link\u标签和多尺寸选项时,favicon没有出现 <%= favicon_link_tag 'favicon.ico', sizes: '16x16 32x32' %> 这些文件分别标记为favicon-16.ico和favicon-32.ico。这些图像位于app/assets/images文件夹中。我给他们贴错标签了吗?这是一个限制吗?解决方案不在于Rails魔术,而在于您管理favicon.ico文件的方式。这是web浏览器所期
favicon\u link\u标签和多尺寸选项时,favicon没有出现
<%= favicon_link_tag 'favicon.ico', sizes: '16x16 32x32' %>
这些文件分别标记为favicon-16.ico
和favicon-32.ico
。这些图像位于app/assets/images
文件夹中。我给他们贴错标签了吗?这是一个限制吗?解决方案不在于Rails魔术,而在于您管理favicon.ico
文件的方式。这是web浏览器所期望的。特别是,favicon.ico
应该包含同一图标的三个版本:16x16、32x32和48x48。关于size
属性,它是在HTML5中引入的,专门用于PNG图标。不favicon.ico
代码
基本定义已经足够了:
favicon_link_tag '/path/to/favicon.ico'
确保路径与app/assets/images
一致,我必须承认我不知道它映射到了哪里
图片
你可以先准备三张PNG图片(我们称它们为16x16.PNG
,32x32.PNG
和48x48.PNG
),然后用icotool
等工具将它们合并(在Ubuntu上:sudo-apt-get-install-icoutils
):
如果您不想麻烦使用icotool
,并且手头没有任何其他解决方案,您也可以使用此解决方案。只需保留生成的favicon.ico
,如果不感兴趣,则保留其余的。全面披露:我是这个网站的作者。一个想法是使用发布的philippe_b生成各种图像。将它们放在应用程序/资产/图像中/
然后,在应用程序的application.html.erb中,将以下代码放在应用程序的
标记之间:
<% %w(57 60 72 76 114 120 144 152 180).each do |s| %>
<%= favicon_link_tag "apple-touch-icon-#{s}x#{s}.png", rel: 'apple-touch-icon', type: 'image/png', sizes: "#{s}x#{s}" %>
<% end %>
<% %w(16 32).each do |s| %>
<%= favicon_link_tag "favicon-#{s}x#{s}.png", rel: 'icon', type: 'image/png', sizes: "#{s}x#{s}" %>
<% end %>
这将允许您使用在app/assets/images/
中预编译的资产,而无需将它们放置在app/public/
请注意,我这里不是在处理Android或Windows图像,只是基本的favicon和apple touch图像。有关建议的apple touch图标尺寸的更多信息
<% %w(57 60 72 76 114 120 144 152 180).each do |s| %>
<%= favicon_link_tag "apple-touch-icon-#{s}x#{s}.png", rel: 'apple-touch-icon', type: 'image/png', sizes: "#{s}x#{s}" %>
<% end %>
<% %w(16 32).each do |s| %>
<%= favicon_link_tag "favicon-#{s}x#{s}.png", rel: 'icon', type: 'image/png', sizes: "#{s}x#{s}" %>
<% end %>