Šime Vidas 前几天给我发了私信,谈到 Twitter 上的这条帖子,来自 subzey。 我的 favicons 的 HTML 代码是这样的
<!-- Warning! Typo! -->
<link rel="icon" href="/favicon.ico" size="any">
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
属性 size
那里是错别字,应该是 sizes
。 就像这样
<!-- Correct -->
<link rel="icon" href="/favicon.ico" sizes="any">
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
有了这个更改,Chrome 就不会再 双重下载 两个图标,而是只使用 SVG 图标(如预期的那样)。 这是需要注意的地方。 我的 ICO 文件大小为 5.8kb,现在每次未缓存页面加载都会节省 5.8kb,这对我觉得意义重大。
Šime 在 网络平台新闻 #42 中提到了这一点。
SVG favicons 在除 Safari 外的 所有现代浏览器 中都得到支持。 如果您的网站同时声明了 ICO(回退)和 SVG 图标,请确保 在 ICO 的 <link> 标签中添加 sizes=any 属性 以 阻止 Chrome 下载并使用 ICO 图标而不是 SVG 图标(有关更多信息,请参阅 Chrome 漏洞 1162276)。 CSS-Tricks 是一个示例网站,其 <head> 中包含 最佳图标标记(三个 <link> 元素,分别用于 favicon.ico、favicon.svg 和 apple-touch-icon.png)。
关于 CSS-Tricks 的那段说明有点夸张,因为只有在我事先指出错误的情况下,它才正确。 我认为我的错别字的根本原因是 Andrey 的文章,但问题已经 得到修复。 Andrey 的文章仍然可能是最实用 favicon 标记的最佳参考。
最近我一直在使用 Real Favicon Generator,我发现他们为
<link rel="icon">
使用了 png 图标而不是 svg 图标; 我想是为了与浏览器兼容吧?