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

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


当前回答

通过销毁浏览器用来存储旧收藏夹图标的文件,您可以强制加载新收藏夹图标。

关闭浏览器。确保不再有浏览器进程在运行(例如,检查任务管理器中的chrome.exe或firefox.exe)。导航到浏览器存储用户文件的位置:对于Chrome,请转到Chrome数据目录。对于Firefox,请转到Firefox配置文件文件夹。删除收藏夹缓存。对于Chrome,删除Favicons和Favicons日志对于Firefox,删除favicons.sqlite

这几乎肯定会奏效。如果没有:

可能性1:浏览器的更新改变了收藏夹缓存的工作方式。请使用新说明编辑此答案。可能性2:你最喜欢的问题与过于激进的缓存无关。相反,这可能是一个资源加载问题——使用开发者工具,确保新的收藏夹图标下载正确。

其他回答

我知道这是一个非常古老的问题,但也是一个仍然相关的问题,尽管现在只适用于mozilla。(我不知道浏览器做什么,因为我们不为非标准浏览器编写代码)。

如果在标题中包含图标标记,则Chrome表现良好。

尽管mozilla很清楚这一问题,但像往常一样,他们从不解决令人讨厌的小问题。甚至在6年后。

因此,有两种方法可以使用firefox强制图标刷新。

让所有客户端卸载firefox。然后重新安装。在url栏中手动键入域-不要使用http或www只有域(mydomain.com)。

当然,这假设您的ns记录仅包含域名的解析。

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

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

当你从谷歌请求favicon时,你可以查看响应标题。

Last-Modified: Fri, 09 Jan 2009 16:35:02 GMT
Date: Thu, 01 Dec 2010 00:00:01 GMT
Expires: Fri, 01 Dec 2011 00:00:01 GMT
Cache-Control: public, max-age=31536000
Age: 7

如果在响应上放置“Expires:”标头,客户端浏览器将在该时间戳之后重新请求图标。在进行主动开发时,您可以在将来将过期时间戳设置为一两秒,并始终让它获取该时间戳,尽管这是一个糟糕的长期计划。

根据下面鸟的回答,您可以执行以下操作:

通过键入地址栏中的favicon url,直接转到它的地址。www.yoursite.com/favicon.icowww.yoursite.com/apple-touch-icon.png等按Enter键导航到url按Ctrl+F5刷新重新启动浏览器(如Chrome、Firefox)

易于理解的

1:我不想摆弄代码(我的网站建设者不使用代码,它使用“上传文件”按钮,它自己做)

2:我尝试了CTRL+F5,但它对我不起作用,所以。。。。

我有一个解决方案:

IE:通过转到设置cog O清除所有浏览器历史记录和cookie

Chrome:转到X下方右上角的菜单,看起来像一个=,然后转到设置、历史记录、清除浏览数据,并选中所有适用的框(我做了历史记录、cookie并从一开始就清空了标题)