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

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


当前回答

它可能对少数人有用,但我也遇到了同样的问题,并发现它与文件渗透有关,所以我给了它777权限,它起了作用,当然,在您确定问题存在后,请确保将权限改回更安全的值。

其他回答

如果您使用PHP,也可以使用favicon的MD5哈希作为查询字符串:

<link rel="shortcut icon" href="favicon.ico?v=<?php echo md5_file('favicon.ico') ?>" />

这样,Favicon在更改后将始终刷新。

正如评论中所指出的,您还可以使用上次修改的日期而不是MD5哈希来实现相同的目的,并在服务器性能上节省一点时间:

<link rel="shortcut icon" href="favicon.ico?v=<?php echo filemtime('favicon.ico') ?>" />

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

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

Chrome版本:68.0.3440.106

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

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

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

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

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

很可能是网络浏览器问题。你必须从浏览器中删除缓存,关闭浏览器并重新打开。这应该会解决问题。

我不相信你的收藏夹会被刷新,直到你重新访问该页面,并假设你之前已经清除了浏览器缓存。

您的网络浏览器不会自行上网查看新的收藏夹图标。。。谢天谢地。