ios - 使用 Rails 生成苹果触摸图标

标签 ios ruby-on-rails mobile-safari favicon

我正在尝试将 apple-touch-icon 链接添加到我的应用程序头部,以便它显示在主屏幕书签上。 Rails 指南说明如下:

Mobile Safari looks for a different link tag, pointing to an image that will be used if you add the page to the home screen of an iOS device. The following call would generate such a tag:

favicon_link_tag 'mb-icon.png', rel: 'apple-touch-icon', type: 'image/png'
<link href="/assets/mb-icon.png" rel="apple-touch-icon" type="image/png" />

但是,当我使用以下内容时(删除了时间戳):

<%= favicon_link_tag 'favicon.ico' %>
<%= favicon_link_tag 'apple-icon.jpeg', rel: 'apple-touch-icon', type:'image/jpeg' %>

它没有正确生成 apple-touch-icon(favicon 按预期工作)。它将“图像”而不是“ Assets ”插入 href。生成的代码是:

<link href="/assets/favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon">
<link href="/images/apple-icon.jpeg" rel="apple-touch-icon" type="image/jpeg">

我也试过不使用 TagHelper 直接将链接放入应用程序文件,但它没有将时间戳附加到文件,因此文件不正确。

最佳答案

您可以创建一个包含以下内容的 _favicon.html.erb 部分:

<% %w(76 120 152 167 180).each do |size| %>
  <%= favicon_link_tag "apple-touch-icon-#{size}x#{size}.png", rel: 'apple-touch-icon', type: 'image/png', sizes: "#{size}x#{size}" %>
<% end %>

<% %w(16 32).each do |size| %>
  <%= favicon_link_tag "favicon-#{size}x#{size}.png", rel: 'icon', type: 'image/png', sizes: "#{size}x#{size}" %>
<% end %>

将其包含在您的application.html.erb中:

<%= render 'favicon' %>

这将创建不同大小的 apple touch 图标和网站图标(针对不同设备进行了优化)。然后,您可以通过众多网站之一生成这些图标,例如 iconifier并将它们放在您的 app/assets/images/目录中。

这就是我所做的,它对我来说非常有效。

关于ios - 使用 Rails 生成苹果触摸图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28846635/

相关文章:

ruby-on-rails - Rails 使模型中的片段缓存过期

ios - 云台 iOS SDK 错误

iphone - 在我的 iPhone 上使用 PhotoPickerPlus 时相机立即崩溃

iphone - AVAudioRecorder文件太大

ios - 可以流式传输超过 115kbps 的视频吗?

ruby-on-rails - Rails 5 上的回形针问题

ruby-on-rails - 设备寄存器问题

jquery - iOS Safari 调试控制台 - 如何获取错误的行号?

javascript - jQuery 和 Safari 的一个问题

html - iPad 浏览器上的空单元格