浏览器不会请求favicon.ico的原因是什么?

时间:2016-02-22 22:08:35

标签: webpage favicon

我正在写一个位于服务器根目录的简单网页,其中有一个位于" /favicon.ico"的快捷图标,但我的浏览器从未请求此favicon.ico。我在html中包含了以下内容:

Meteor.publishComposite('myNotifications', {
  find: function() {
    return Notifications.find({receiver: this.userId});
  },
  children: [
    {
      find: function(notification) {
        return Meteor.users.find(
          { _id: notification.actor },
          { fields: { profile: 1 } });
      }
    }
  ]
});

当我打开开发人员工具的网络选项卡时,我看到了192.168.0.1(网页本身)的请求,但没有后续的图标请求。清除缓存并启用"禁用缓存"什么都不改变行为。

开发人员控制台中没有出现任何错误,其他一切似乎都运行正常。

编辑:

我根据Jean-Francois的帖子更新了以下链接,但仍然遇到同样的问题:

<link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />

1 个答案:

答案 0 :(得分:4)

原来我处理过图标缓存的问题以及我检测浏览器是否实际请求图标的方式。

我只是查看chrome上的网络日志,以确定是否有针对favicon.ico的请求,Favicon request not showing in network tab of developer toolbars显示存在此问题。

只是进行硬刷新(通过强制浏览器不使用缓存)似乎也没有解决问题,而且我能够让所有三个浏览器发出请求的唯一方法是添加查询参数到链接的末尾。最终的链接标记是:

<link href="favicon.ico?v=1.0" rel="icon" type="image/x-icon"/>