Firefox不显示favicon

时间:2011-12-23 12:22:07

标签: firefox favicon

DO 知道这个问题已经在这个网站上被问过至少一千次了,但是我已经阅读了很多这些主题,我认为自己知识渊博,很少提出任何问题,而是我喜欢做自己的研究。

然而,这个问题是如此奇怪,没有真正启蒙的希望(因为这个问题已经经常讨论过,我仍然无法从中阅读),这是我的问题:

favicon.ico存在,(本地托管的开发网站)http://website/favicon.ico显示正确的图标。它的大小只有198字节,所以我在Firefox中发现的大小限制:1024字节的配置是坚持的。根据网页上关于favicons的智慧,浏览器应该在页面中没有任何内容时自行询问favicon。但是,我的apache日志清楚地显示Firefox(9.01)甚至从未要求它。

下一篇:当我添加

<link rel="shortcut icon" href="/favicon.ico">

我仍然没有得到一个图标。

下一篇:当我改为使用

<link rel="shortcut icon" href="/favicon.ico?">

(注意尾随“?”)我突然 DO 获得一个favicon。 BUt它不能是缓存问题!首先,我已经清除了缓存,其次,如上所述,我已经通过其URL http://website/favicon.ico

成功将图标文件加载到Firefox中

我无法解释Firefox的这种行为。顺便说一句,Chrome会显示正确的图标。

这是我的页面负责人:

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <link rel="shortcut icon" href="/favicon.ico?" />
</head>
...

一旦我追加至少“?”在“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

5 个答案:

答案 0 :(得分:132)

首先,通过直接加载favicon网址(将其放入浏览器的网址栏)并强制刷新来确保您没有“正常”缓存问题。如果能完成这项工作,则不需要下面的复杂解决方案。



重要:

我原来的问题不能是缓存问题:首先,我 清除了缓存,其次,如上所述,我已经成功加载了图标文件通过其网址http://website/favicon.ico

进入Firefox

所以我(确实)在直接加载时在浏览器中获得正确的图标!但我仍然有(有)错误的图标显示为“favicon”。直接加载图标文件是(或者是)独立显示在实际的favicon位置(当然第一次加载时除外)。

然而,如果只有缓存问题并且强制刷新适用于您而不是这个问题/问题不是你的!你的回答不是这个问题的答案

人们不应忽视事实。当你被许多已经回答和/或无用的问题轰炸时,问题的质量目前和档案都会受到影响。 令人惊讶的是,我必须与那些仍然坚持使用力量更新的人进行斗争!



注意:您可以完全避免此问题,就像StackOverflow一样使用cache-buster网址,其favicon网址以.../img/favicon.ico?v=4f32ecc8f43d结尾。

如果正常的缓存清除措施失败(就像他们为我做的那样),这里给出了答案:"Clearing All Favicons From Firefox 3 Cache [How-To]" - 和here is an archive.org version of the link (probably slower, but it won't go away)

该页面的步骤转载于此处:

  1. 安装Firefox add-on SQLite Manager
  2. 从工具中启动它 - &gt; SQLite经理
  3. 点击“数据库”菜单项(左上角)并选择“连接数据库”,然后输入%APPDATA%\Mozilla\Firefox
  4. 打开Profiles文件夹并转到您使用的配置文件
  5. 选择places.sqlite作为要编辑的数据库文件(Firefox 61及更高版本:favicons.sqlite
  6. 选择moz_favicons表格。在右键单击上下文菜单中使用“空表”,不要使用“删除表”(表必须在那里)使用右键单击上下文菜单数据并选择“删除”仅覆盖您要删除的一个条目(请参阅下面的屏幕截图)
  7. screenshot deleting an entry using SQLite manager

    我开始怀疑Firefox将favicons与其他所有内容区分开来 - 这是与观察到的行为相匹配的唯一解释。所以我用Google搜索确认并找到了上面的网址。接下来,我将尝试清除特定的额外缓存,看看会发生什么。

    更新 - 已解决:使用“SQLite Manager”删除favicon缓存后,所有Firefox插件都可以正常工作。

    所以这个秘密就是Firefox中的EXTRA(sqlite)CACHE FOR FAVICONS,而且没有被常规的“Clear Cache”命令清除。

    2017年3月更新:我检查了这个Firefox附加组件以及the standalone app suggested in this answer below并且都做了这个工作。 SQLite Manager附加组件最近在2年前根据其Github project page进行了更新,但它仍然在此上下文中执行了所需的操作。 people who have forked the project提供了更新,但这只是暂且不说。

答案 1 :(得分:3)

面临着类似的问题。只需打破图像的缓存。 我正在使用MVC Razor View。

    var link = document.createElement('link');
    link.type = 'image/x-icon';
    link.rel = 'shortcut icon';
    link.href = "/images/favicon.ico?t=@DateTime.Now.Ticks";
    var head = document.head || document.getElementsByTagName('head')[0];
    head.appendChild(link);

答案 2 :(得分:3)

以下是如何做到这一点而不会丢失所有的影业作品

  1. 获取可以打开SQLite文件的工具,我正在使用DB browser for SQLite

  2. 在浏览器中转到about:profiles

  3. 打开default profile的根文件夹。 (有关提示,请参见附图) image

  4. 在Firefox 61+上打开places.sqlitefavicons.sqlite)文件。

  5. 转到moz_favicons

  6. 过滤并删除主机名的条目(有关提示,请参阅附图) image

  7. 保存文件(见图) image

  8. 访问您的网站,它将显示新的favicon

答案 3 :(得分:2)

很久以前,我知道,但FF 31.0 / Windows上的缓存清除程序对我有用 - 也许它是新的。 Options -> network -> cached web content -> clear now。关闭FF,重启。没有搞乱SqLite,新的favicon负载。

然而,还有另一个潜在的问题。我尝试刷新图标的网站服务器的DocumentRoot/var/www。此网站位于foo.com/fubar,其中var/www/fubar符号链接到其他位置。换句话说,该网站距DocumentRoot一级。这适用于Chrome,Opera和IE,但不适用于Safari或FF:

<link rel="shortcut icon" href="/favicon.ico" >

FF在/var/www中搜索favicon,而不是/var/www/fubar。这适用于所有5种浏览器:

<link rel="shortcut icon" href="favicon.ico" >

答案 4 :(得分:-2)

我刚才遇到这个问题似乎缓存,cookie和历史记录都没有效果,但我做了这个修复它。

1 - 右键单击​​书签(我的是在工具栏菜单中) 2 - 单击属性 3 - 然后单击取消(似乎刷新一些隐藏的缓存)

我确定点击确定/保存会产生同样的效果。

相关问题