是否有现代浏览器不会自动检测favicon.ico?是否有理由添加用于favicon.ico的链接标签?
<link rel="shortcut icon" href="/favicon.ico">
我的猜测是,如果您决定使用GIF或PNG格式,则只需要将其包含在HTML文档中...
要选择PNG或SVG格式的不同位置或文件类型作为网站图标:
其中一个原因可能是您希望将图标置于特定位置,例如在images文件夹中或类似的位置。例如:
<link rel="icon" href="_/img/favicon.png">
这个不同的位置甚至可以是CDN,就像SO使用<link rel="shortcut icon" href="http://cdn.sstatic.net/stackoverflow/img/favicon.ico">
一样。
如果想了解如何使用其他文件类型,比如PNG,请查看此问题。
为了实现缓存破坏:
为了实现缓存破坏,请将查询字符串添加到路径中:
<link rel="icon" href="/favicon.ico?v=1.1">
网站图标有很强的缓存机制,这是保证刷新的好方法。
关于默认位置注释:
对于第一个问题:所有现代浏览器都会在默认位置检测到网站图标,因此这不是使用 link
的原因。
关于rel="icon"
的注释:
正如@Semanino's answer所指出的那样,使用rel="shortcut icon"
是一种旧技术,以前的Internet Explorer版本需要使用它,但在大多数情况下可以用更正确的rel="icon"
替代。基于Semanino的文章恰当地链接到适当的规范,其中显示shortcut
不是有效的rel
选项。
请注意,W3C 和 WhatWG 的 HTML5 规范标准化了。
<link rel="icon" href="/favicon.ico">
请注意 "rel" 属性的值!
"rel" 属性的值 shortcut icon
是一个非常古老的 Internet Explorer 特定扩展而且已经被弃用。
因此,请考虑不再使用它并更新您的文件,以使它们符合标准并在所有浏览器中正确显示。
您可能还想查看这篇优秀的文章:关于rel="shortcut icon"的危害性
这完全取决于你想使用哪种图片格式!
<link rel="icon" type="image/x-icon" href="http://example.com/favicon.ico" /> <link rel="icon" type="image/png" href="http://example.com/favicon.png" /> <link rel="icon" type="image/gif" href="http://example.com/favicon.gif" /> <link rel="icon" type="image/jpeg" href="http://example.com/favicon.jpeg" /> <link rel="icon" type="image/webp" href="http://example.com/favicon.webp" />
如果您有网站图标,那对用户体验来说会更好一些!演示
在浏览器选项卡中显示标志
2020年10月更新:
如果您在这个页面上看到这段话还在为为什么我的网站图标(favicon)无法显示而苦恼,那么请继续阅读。我尝试了所有我认为正确的事情,但是favicon仍未出现在浏览器标签页中。
以下是一行简单的代码,完美解决了此问题:
<link rel="icon" href="https://abcde.neocities.org/bla123.jpg" size="16x16" type="image/jpg">
注意事项:
我在Firefox,Chrome,Edge和Opera上测试了它。操作系统:Win 10,Mac OSX,ios和Android。并且我没有遇到任何缓存问题,只要我刷新页面就很好用。
<link rel="apple-touch-icon" sizes="57x57" href="fav_icons/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="fav_icons/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="fav_icons/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="fav_icons/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="fav_icons/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="fav_icons/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="fav_icons/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="fav_icons/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="fav_icons/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="fav_icons/android-icon-192x192.pn">
<link rel="icon" type="image/png" sizes="32x32" href="fav_icons/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="fav_icons/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="fav_icons/favicon-16x16.png">
favicon.ico
。因此,如果您想确保图标显示出来,最好在HTML中包含链接。顺便说一句,与可比较的.ico
文件相比,.png
文件通常更小。 - Mr Listerbrowser.chrome.favicons
设置为true将在根目录中查找favicon.ico;如果设置为false,则仅在HTML页面中指定了图标时才会加载它们。参见http://kb.mozillazine.org/Browser.chrome.favicons和相关页面。 - Mr Lister