【问题标题】:Do you have to include <link rel="icon" href="favicon.ico" type="image/x-icon" />?你必须包含 <link rel="icon" href="favicon.ico" type="image/x-icon" /> 吗?
【发布时间】:2011-10-02 10:44:56
【问题描述】:

我没有在我的 head 标签中包含以下代码行,但是我的网站图标仍然出现在我的浏览器中:

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

包含它的目的是什么?

【问题讨论】:

    标签: html favicon


    【解决方案1】:

    如果您不调用 favicon favicon.ico,您可以使用该标签来指定实际路径(如果您在 images/ 目录中拥有它)。浏览器/网页默认在根目录下查找favicon.ico

    【讨论】:

    • 或者如果您在根文件夹中没有 favicon.ico 但在例如资产文件夹
    【解决方案2】:

    实际上你应该两者都做,以便所有浏览器都能找到图标。

    将文件命名为“favicon.ico”并将其放入您网站的根目录是 W3C“不鼓励”的方法:

    方法 2(不鼓励):将网站图标放在预定义的 URI
    指定网站图标的第二种方法依赖于使用预定义的 URI 来识别图像:“/favicon”,它是相对于服务器根目录的。此方法有效,因为某些浏览器已被编程为使用该 URI 查找网站图标。
    W3C - How to add a favicon to your site

    所以,为了涵盖所有情况,除了添加“rel”属性并将其指向同一个 .ico 文件的推荐方法之外,我总是这样做。

    【讨论】:

    • 是的,这是一个更正确的答案。没有与简单地将favicon.ico 放在根目录中相关的标准,但由于历史原因,大多数浏览器会自动请求所述文件。
    • 这样做的正确原因不是因为它在某些情况下有效,而是因为更好的方法在某些情况下无效
    • 奇怪的是,realFaviconGenerator 建议不要在 HTML 头部声明网站图标。
    • Internet Explorer 发明图标并在根目录中寻找它。 AFAIK,所有浏览器都这样做。这就是为什么我建议将 favicon.ico 放在根目录中的原因,因为否则它将返回 404 并且大多数系统不会缓存它......所以它一直在请求它。放一个图标,它会被正确缓存。
    • @FabrícioMatté,您说得对,在根目录中没有关于 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" 一样好。
    【解决方案3】:

    我使用它有两个原因:

    1. 我可以通过添加查询参数来强制刷新图标,例如?v=2。像这样: &lt;link rel="icon" href="/favicon.ico?v=2" type="image/x-icon" /&gt;

    2. 如果我需要指定路径。

    【讨论】:

    • 太棒了,终于知道为什么没有显示了!
    • 我确定这只是一个错字,但你有一个相对的href,这意味着它不会工作,除非你的所有页面都在顶层,或者你在每个子目录中都有一个 favicon.ico 文件.
    • 仅供后来的读者参考,Chris Cogdon 的评论已在编辑“2016 年 9 月 9 日 5:05”中修复,因此不再是问题
    【解决方案4】:

    只需将其添加到根文件夹即可,但我发现如果我需要更改网站图标,可能需要几天时间才能更新……即使刷新缓存也无法解决问题。

    【讨论】:

    • 别忘了 Ctrl-C 和重建。
    【解决方案5】:

    许多人将他们的 cookie 路径设置为 /。这将导致每个网站图标请求发送站点 cookie 的副本,至少在 chrome 中。将您的 favicon 寻址到您的无 cookie 域应该可以纠正此问题。

    <link rel="icon" href="https://cookieless.MySite.com/favicon.ico" type="image/x-icon" />
    

    根据您获得的流量,这可能是添加链接的最实际原因。

    关于设置无 cookie 域的信息:

    http://www.ravelrumba.com/blog/static-cookieless-domain/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-24
      • 2020-06-17
      • 1970-01-01
      • 2021-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多