我有一个Grails应用程序使用它自己的tomcat在本地运行,我刚刚将favicon改成了一个新的。问题是我在任何浏览器中都看不到它。旧的收藏夹出现了,或者我根本没有收藏夹,但没有我的新收藏夹。我不认为这本身是圣杯的问题,更多的是收藏夹的问题。

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


当前回答

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

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

其他回答

如果尽管应用了上述步骤,问题仍然存在:

尝试重新启动IIS服务器。

在文件路径末尾使用查询字符串。每个生成的查询字符串变量值必须不同。

如果以前的版本是:

<link rel=“icon”href=“http://example.com/favicon.ico?v=v1" />

OR

<link rel=“icon”href=“http://example.com/favicon.ico?v=stringA" />

那么下一个构建应该是:

<link rel=“icon”href=“http://example.com/favicon.ico?v=v2" />

OR

<link rel=“icon”href=“http://example.com/favicon.ico?v=stringB" />

我最近恢复了我的书签,并正在寻找一种方法来恢复FavIcons,而无需访问每个页面。我的搜索使我找到了这个线索。

对于那些处于类似情况的用户,只需下载FAVICON RELOADER插件即可。安装后,您将在BOOKMARKS下拉菜单中找到“重新加载收藏夹图标”命令。

https://addons.mozilla.org/en-US/firefox/addon/faviconreloader/?src=api

对于macOS上的Chrome,如果你不想像这里已经建议的那样删除整个Chrome favicon数据库,你可以只删除冲突的图标:

退出Chrome加载favicons数据库(此处使用sqlite):

sqlite3~/Library/Application\Support/Google/Chrome/Default/Favicons

搜索导致问题的文件

从收藏夹中选择*,其中url='http://mysite.dev/favicon.ico';

如果您对输出满意:

从收藏夹中删除url='http://mysite.dev/favicon.ico';


或者,您可以搜索可以重复使用以删除多个条目的模式:


搜索导致问题的多个文件

从url喜欢的收藏夹中选择*http://mysite.dev%';

同样,如果你对这样的回报感到满意:

从url类似的收藏夹中删除'http://mysite.dev%';


键入.ext并单击return退出sqlite重新启动Chrome

很可能是网络浏览器问题。你必须从浏览器中删除缓存,关闭浏览器并重新打开。这应该会解决问题。

我不相信你的收藏夹会被刷新,直到你重新访问该页面,并假设你之前已经清除了浏览器缓存。

您的网络浏览器不会自行上网查看新的收藏夹图标。。。谢天谢地。