【发布时间】:2011-10-02 10:44:56
【问题描述】:
我没有在我的 head 标签中包含以下代码行,但是我的网站图标仍然出现在我的浏览器中:
<link rel="icon" href="favicon.ico" type="image/x-icon" />
包含它的目的是什么?
【问题讨论】:
我没有在我的 head 标签中包含以下代码行,但是我的网站图标仍然出现在我的浏览器中:
<link rel="icon" href="favicon.ico" type="image/x-icon" />
包含它的目的是什么?
【问题讨论】:
如果您不调用 favicon favicon.ico,您可以使用该标签来指定实际路径(如果您在 images/ 目录中拥有它)。浏览器/网页默认在根目录下查找favicon.ico。
【讨论】:
实际上你应该两者都做,以便所有浏览器都能找到图标。
将文件命名为“favicon.ico”并将其放入您网站的根目录是 W3C“不鼓励”的方法:
方法 2(不鼓励):将网站图标放在预定义的 URI
指定网站图标的第二种方法依赖于使用预定义的 URI 来识别图像:“/favicon”,它是相对于服务器根目录的。此方法有效,因为某些浏览器已被编程为使用该 URI 查找网站图标。
W3C - How to add a favicon to your site
所以,为了涵盖所有情况,除了添加“rel”属性并将其指向同一个 .ico 文件的推荐方法之外,我总是这样做。
【讨论】:
favicon.ico 放在根目录中相关的标准,但由于历史原因,大多数浏览器会自动请求所述文件。
favicon.ico 的标准。但是,该草案于 2011 年 2 月 17 日添加 here。它是 2011 年 5 月 15 日原始 W3C Invites Broad Review of HTML5 的一部分。HTML5 最终于 2014 年 10 月 28 日完成。另请注意,How to Add a Favicon to your Site 是2005 年的草稿。因此,将 favicon.ico 放入根目录与 link rel="icon" 一样好。
我使用它有两个原因:
我可以通过添加查询参数来强制刷新图标,例如?v=2。像这样:
<link rel="icon" href="/favicon.ico?v=2" type="image/x-icon" />
如果我需要指定路径。
【讨论】:
只需将其添加到根文件夹即可,但我发现如果我需要更改网站图标,可能需要几天时间才能更新……即使刷新缓存也无法解决问题。
【讨论】:
许多人将他们的 cookie 路径设置为 /。这将导致每个网站图标请求发送站点 cookie 的副本,至少在 chrome 中。将您的 favicon 寻址到您的无 cookie 域应该可以纠正此问题。
<link rel="icon" href="https://cookieless.MySite.com/favicon.ico" type="image/x-icon" />
根据您获得的流量,这可能是添加链接的最实际原因。
关于设置无 cookie 域的信息:
【讨论】: