现代浏览器只认rel="icon",应将其放在最前;ie11等旧环境可追加rel="shortcut icon"且须置于其后;禁用rel="icon shortcut";sizes和type在旧浏览器中基本无效但无害。

link 标签在 IE8–IE11、旧版 Android WebView 或某些内嵌浏览器里,不是“写了就生效”,而是会按解析规则跳过非法值、忽略重复声明、甚至因顺序错误导致图标不显示。关键不在多写,而在写对顺序和取值。
rel 属性该用 icon 还是 shortcut icon
现代浏览器(Chrome 90+、Firefox 84+、Safari 15+、Edge 90+)只认 rel="icon";rel="shortcut icon" 是 IE6–IE8 的遗留写法,Chrome 117+ 已明确降低其优先级,可能直接跳过解析。
- 始终把
<link rel="icon" href="/favicon.ico">放在最前面 - 如需兼容 IE11 或老旧 WebView,可额外加一条
<link rel="shortcut icon" href="/favicon.ico">,但必须放在rel="icon"之后 - 绝对不要写
rel="icon shortcut"—— W3C 不认可空格分隔,部分解析器会整条忽略
sizes 和 type 属性在旧浏览器中的实际效果
sizes 属性仅对 rel="icon" 和 rel="apple-touch-icon" 有效,且旧版 IE 完全不识别它;type 在 IE 中基本被忽略,但声明 type="image/png" 能帮 Chrome/Firefox 更快跳过格式探测。
-
sizes="any"只对.ico文件有意义,告诉浏览器它可以缩放适配任意尺寸(IE9+ 支持) -
sizes="192x192"这类写法在 IE 中无效,但无害;Android Chrome、Firefox 桌面版会优先采用 - 旧版 Safari(link[rel="icon"] 中的
sizes,只靠文件名或默认尺寸匹配
如何让 favicon 在 IE8 及以下也显示
IE8 及以下不支持 rel="icon" 的现代解析逻辑,也不支持 PNG 图标,只能靠 .ico 文件 + 正确路径 + 无缓存干扰。
- 必须提供纯
.ico文件(含 16×16、32×32、48×48 多尺寸),不能只用 PNG -
href值必须是绝对路径或根相对路径(如/favicon.ico),避免./favicon.ico或favicon.ico(IE8 对相对路径解析不稳定) - IE8 默认缓存 favicon 极强,开发时可在 URL 后加版本参数:
/favicon.ico?v=2 - 不要指望
type或sizes在 IE8 生效——它们会被静默忽略
最容易被忽略的一点:即使 link 标签写对了,如果 HTML 文档开头有 BOM 字节、空格或注释,IE 会直接进入怪异模式,连 link 解析都会异常。所以 必须顶格、无任何前置字符,这是所有兼容行为的前提。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











