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

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


当前回答

Chrome版本:68.0.3440.106

只需重新启动Chrome(在地址栏中):chrome://restart

其他回答

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

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

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

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

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

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

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

对于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

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

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

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

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

在MAC上:⑪+Shift-R或按住Ctrl键并单击浏览器中的重新加载按钮。