favicon需在中用声明,路径须正确且可直接访问,推荐根路径;应同时提供.ico和多尺寸.png格式,并加版本参数防缓存;真机实测各环境显示效果。
直接在 里加 就能生效,但实际部署中常见图标不显示、缓存导致旧图标残留、多尺寸适配失败等问题。
浏览器只在 内解析 ,放在 或 HTML 外部无效。路径必须可被浏览器直接请求到(即能通过 URL 访问),相对路径以 HTML 当前位置为基准,推荐用根路径避免嵌套页面出错。
./images/favicon.ico 却把 HTML 放在子目录下,导致 404type 属性不是必需的,但显式声明 image/x-icon 可避免某些旧浏览器误判 MIME 类型.ico 是传统格式,兼容 IE 和老版本浏览器;.png 支持透明度和高 DPI(如 Retina 屏),但 Safari 15.4+ 才原生支持 rel="icon" 加载 PNG。单靠 PNG 在部分安卓 WebView 或微信内置浏览器中会失效。
sizes 属性对 .ico 无效,仅对 PNG/SVG 有意义;未加 sizes 的 PNG 可能被忽略,所以把 .ico 放最前更稳妥浏览器对 favicon 缓存极强,即使你替换了文件、刷新页面甚至硬刷新(Ctrl+F5),旧图标仍可能持续数小时。这不是代码问题,而是 HTTP 缓存或浏览器内部缓存策略所致。
href 后加版本参数:/favicon.ico?v=2chrome://settings/clearBrowserData 清除“图像和文件”缓存真正麻烦的不是加那几行 ,而是验证它是否在所有设备、所有入口(书签、PWA、微信、安卓桌面快捷方式)里都显示正确——每个环境有自己的缓存逻辑和格式偏好,上线前务必真机实测。