因此,根据我的搜索,这是 iOS/Apple 端长期存在的错误。到目前为止,我还无法确认解决方法,所以想看看我是否能加快速度。
我在 realfavicongenerator 的帮助下在我的网站上合并了一个新的图标,它出现在除了 Safari iOS 之外的任何地方,当该网站被收藏或添加书签时,错误的缓存似乎会强制显示旧图像。添加到主屏幕工作正常,MacOS 收藏夹/书签工作正常,Safari iOS 则不行。
我记得几年前合并第一个 apple-touch-icon 时也遇到过类似的问题,也使用 realfavicongenerator:在 Safari iOS 中收藏/添加书签时,图标是空的而不是显示图像。最终它出现了,但我不记得如何或具体何时出现,但它肯定比应有的时间要长得多。
我显然尝试过通过 Safari 设置清除缓存和网站数据/历史记录,重新启动手机,将变量附加到 apple-touch-icon URL,使用绝对路径和相对路径,并修改不同的图像大小规范,这些都不起作用。
我在某处看到一个建议,重置手机可能会起作用,但在这种情况下我的问题是到底要重置什么以及这是否会损害其他数据。
是否有任何我不知道的解决方法/修复?
我使用的是装有 iOS 12.2 的 iPhone 7。所使用的代码直接来自 realfavicongenerator 提供的代码。
最佳答案
RealFaviconGenerator 作者发言。
正如您所注意到的,iOS Safari 在图标重新加载方面相当懒惰。这不是唯一的一个。
诀窍是通过提供以前从未遇到过的 URL 来强制它重新加载图标。执行此操作的一个简单方法是在现有图标 URL 后添加虚拟参数。例如,将 /the_icon.png
更改为 /the_icon.png?v=2
。
要使用 RealFaviconGenerator 来执行此操作,请再次生成图标。这次,请确保打开“网站图标生成器选项”面板中的“版本/刷新”选项卡,然后选择第二个选项,如下所示:
注意:您可能需要手动编辑 RealFaviconGenerator 已创建的代码并自行附加版本。这可能是个坏主意。例如,如果您将图标放在根文件夹中,则不会生成一些 HTML 行(因为 RFG 正在利用约定)。但突然之间,必须添加这些行来指定版本。这绝对不是你第一眼就能猜到的。
关于ios - Safari iOS 收藏夹/书签图标未更新 apple-touch-icon.png,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55993879/