我有一个使用自己的tomcat在本地运行的Grails应用程序,我刚刚更改了一个新的favicon.问题是我无法在任何浏览器中看到它.旧的favicon出现了,或者我根本没有获得图标,但不是我的新图标.我不认为这本身就是Grails问题,更多的是关于favicons的问题.
favicons应该发生什么?它们应该如何工作?我的浏览器中有很多书签,它们有错误的图标,似乎永远不会刷新.如何强制服务器/浏览器停止缓存它们?总是缓存它们似乎很愚蠢,因为它们通常只有16x16.为什么不在每次访问页面时上传它们?这不是一个巨大的开销.
我DO知道这个问题已经被问至少有一千次,仅此网站,但我看了很多这些线程的,我也认为自己非常了解,并且很少会问什么,而是喜欢做我自己的研究.
然而,这个问题是如此奇怪,没有真正启蒙的希望(因为这个问题经常被讨论过,我仍然无法从中阅读),这是我的问题:
favicon.ico存在,(本地托管的开发网站)http://website/favicon.ico显示正确的图标.它的大小只有198字节,所以我在Firefox中发现的大小限制:1024字节的配置是坚持的.根据网页上关于favicons的智慧,浏览器应该在页面中没有任何内容时自行询问favicon.但是,我的apache日志清楚地显示Firefox(9.01)从未要求它.
下一篇:我加的时候
<link rel="shortcut icon" href="/favicon.ico">
Run Code Online (Sandbox Code Playgroud)
我仍然没有得到一个图标.
下一篇:当我改用
<link rel="shortcut icon" href="/favicon.ico?">
Run Code Online (Sandbox Code Playgroud)
(注意结尾的"?")我突然DO得到一个图标.BUt它不能是缓存问题!首先,我已经清除了缓存,其次,如上所述,我已经通过URL成功将图标文件加载到Firefox中http://website/favicon.ico
我无法解释Firefox的这种行为.顺便说一句,Chrome显示正确的图标.
这是我的页面头:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<link rel="shortcut icon" href="/favicon.ico?" />
</head>
...
Run Code Online (Sandbox Code Playgroud)
一旦我追加至少"?" 在"ico"之后它起作用了.
这是服务器在请求图标时发送的内容,因为有些人要求这样做.我不知道为什么这会有用,因为a)我说我的缓存对于每个测试都是空的(用about:cache检查),和b)我说服务器甚至从未被要求提供文件,因为它没有显示起来.Firefox没有问"没有"? - 缓存空了!只有当我使用附加的"?"时,请求才会显示在apache日志中.
Date Fri, 23 Dec 2011 12:53:22 GMT
Server Apache/2.2.20 (Ubuntu)
Last-Modified Fri, 23 Dec 2011 12:02:49 GMT
Etag "12c07fe-c6-4b4c132190e30"
Accept-Ranges bytes
Content-Length 198
Content-Type image/x-icon
Run Code Online (Sandbox Code Playgroud) 我正面临 favicon.ico 的一个问题。这是我的链接 rel 代码,它已包含在标题部分中。
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
问题是,如果 url 以 http:// 开头,我可以在所有浏览器中查看图标。当地址以 https:// 开头时,图标不会显示在 IE 浏览器中。有什么我需要做的吗?我错过了什么重要的内容吗?