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

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


当前回答

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

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

其他回答

请按照以下步骤更改应用程序图标:

在项目中添加.ico文件。转到angular.json,在“项目”->“架构师”->“构建”->“选项”->“资产”中,在这里输入图标文件。请参阅favicon.ico的现有条目,了解如何执行此操作。转到index.html并更新图标文件的路径。例如

<link rel=“icon”type=“image/x-icon”href=“abc.ico”>

或者,用favicon.ico重命名图标文件并将其替换到目录中。

重新启动服务器。硬刷新浏览器,您就可以开始了。

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

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

尝试在新选项卡中打开

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

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

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

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

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

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

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

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

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