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

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


当前回答

这适用于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日志

来源

其他回答

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

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

我的廉价解决方案是:

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

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

这个答案还没有给出,所以我想我会把它贴出来。我在网上到处找,没有找到一个测试本地开发中的收藏夹的好答案。

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

将鼠标悬停在选项卡上右键单击选择重新加载现在应该刷新您的收藏夹图标

这是我找到的在本地刷新收藏夹图标的最简单方法。

根据浏览器的不同,它们的处理方式也有所不同,但通常我会发现会转到站点的默认页面,然后进行硬刷新。CTRL+F5(或在macOS上的¨Command+SHIFT+F5)通常会使其更新。

尝试在新选项卡中打开

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

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

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

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

如果您正在使用PHP。。那么你也可以使用这行。

<link rel="shortcut icon" href="http://www.yoursite.com/favicon.ico?v=<?php echo time() ?>" />

它将在每次加载页面时刷新您的收藏夹图标。