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

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


当前回答

在Mac OS X上的Chrome中,可以使用favicon缓存删除文件

${user.home}/Library/Application Support/Google/Chrome/Default/Favicons 

其他回答

关闭所有Google Chrome窗口

补充一个我在这里看不到的答案。我尝试刷新我的谷歌Chrome缓存,重新加载标签,刷新标签,打开新标签,甚至打开一个新窗口。没有什么对我有用。最终对我有用的是关闭所有的谷歌Chrome窗口(如果你像我一样,你可能有3+个窗口和一堆标签,甚至可能在另一个桌面上有更多的窗口/标签,不要忘记这些!)。关闭所有窗口后,尝试打开一个新窗口并重新加载站点。

希望这对某人有所帮助!

额外提示:如果您想取回所有窗口,可以按“Ctrl+Shift+向上箭头+T”取回窗口和选项卡。

嗯,开销是开销,但是的,不会太大。

此外,浏览器有时对缓存文件“贪婪”。您可以清除缓存和/或重新启动浏览器,可能会看到更改。如果失败了。。。

我的廉价解决方案是:

访问您的文件:http://example.com/favicon.ico在浏览器中。从webroot中删除favicon.ico。参观http://example.com/favicon.ico再次在浏览器中,验证它是否丢失。将新文件上载到您的webroot。参观http://example.com/favicon.ico再次在浏览器中,验证它是新的。

如果这个顺序不起作用,那么其他事情正在发生。

重命名favicon文件并使用新名称添加一个html标题,例如:

<link rel="SHORTCUT ICON" href="http://www.yoursite.com/favicon2.ico" />

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

如果以前的版本是:

<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" />

这是chrome bug的解决方法:将rel属性更改为样式表!但保留原始链接。就像一个魅力:

我提出了这个解决方案,因为我们还需要能够更新客户的站点/生产代码,我没有找到任何其他解决方案。