协慌网

登录 贡献 社区

如何强制使用 favicon 刷新?

我有一个使用自己的 tomcat 在本地运行的 Grails 应用程序,我刚刚更改了一个新的 favicon。问题是我无法在任何浏览器中看到它。旧的 favicon 出现了,或者我根本没有获得图标,但不是我的新图标。我不认为这本身就是 Grails 问题,更多的是关于 favicons 的问题。

favicons 应该发生什么?它们应该如何工作?我的浏览器中有很多书签,它们有错误的图标,似乎永远不会刷新。如何强制服务器 / 浏览器停止缓存它们?总是缓存它们似乎很愚蠢,因为它们通常只有 16x16。为什么不在每次访问页面时上传它们?这不是一个巨大的开销。

答案

要刷新站点的 favicon,您可以强制浏览器使用链接标记和文件名上的查询字符串下载新版本。这在生产环境中尤其有用,可确保您的用户获得更新。

<link rel="icon" href="http://www.yoursite.com/favicon.ico?v=2" />

好吧,经过 10 分钟的 wtf'ing,解决它的简单方法接近于 lineofbirds

  1. 输入 www.yoursite.com/favicon.ico(或 www.yoursite.com/apple-touch-icon.png 等)
  2. 回车
  3. ctrl + f5
  4. 重启浏览器(IE,Firefox)

这个答案还没有给出,所以我想我会发布它。我环顾网络,并没有找到一个在本地开发中测试 favicons 的好答案。

在当前版本的 chrome(在 OSX 上),如果您执行以下操作,您将立即获得 favicon 刷新:

  1. 将鼠标悬停在标签上
  2. 右键点击
  3. 选择重新加载
  4. 您的 favicon 现在应该刷新

这是我发现在本地更新 favicon 的最简单方法。