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

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


当前回答

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

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

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

其他回答

如果您只是想调试它以确保它已更改,那么只需在/etc/hosts文件中添加一个虚拟条目并点击新的URL即可。这个收藏夹不会被缓存,你可以确保你的新收藏夹正常工作。

除了更改收藏夹图标的名称之外,您无法强制用户获取新副本

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

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

我的廉价解决方案是:

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

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

这适用于Chrome:

在Mac上:删除文件${user.home}/库/应用程序支持/Google/Chrome/Default/Favicons在Windows上:删除文件C: \Users[用户名]\AppData\Local\Google\Chrome\User Data\Default\FaviconsC: \Users[用户名]\AppData\Local\Google\Chrome\User Data\Default\Favicons日志

来源

西蒙,我想其他答案到目前为止都没有被接受是有原因的。因此,我认为这可能是一个Grails问题,尤其是如果您使用的是“资源插件”。

如果你的插件提供了一个favicon(这是不合逻辑的,很多插件都提供了),那么它们可能会覆盖你想要使用的图标,因为你的插件本身就是这样的。

如果从所有插件中删除favicon临时解决了问题,那么您很可能会遇到这种情况:

http://jira.grails.org/browse/GPRESOURCES-134

尝试在新选项卡中打开

我尝试了上面的许多方法(重置缓存、刷新、使用链接标记等),甚至检查了.htaccess文件并重置了ExpiresByType变量。

但这就是我在Chrome(25.0.x)和Safari(6.0.1)中的最终效果:

正在刷新缓存将收藏夹图标与<link>标签硬链接导航至mysite.com/favicon.ico在新选项卡中打开mysite.com

(直到第3步,在同一选项卡中刷新会继续再现旧图标。)