favicon不显示主因是路径错误、Content-Type不匹配或缓存问题;必须将favicon.ico置于根目录并返回image/x-icon,HTML中link需带type和sizes(ICO用sizes="any",PNG需精确尺寸)。
favicon 不显示,90% 的问题出在路径、响应头或缓存上,而不是
标签写错了。
favicon.ico 必须放在网站根目录,且服务器要返回正确的 Content-Type
主流浏览器(Chrome、Firefox、Edge)会无条件发起一次
请求,不管你的 HTML 里有没有
。如果这个请求返回 404 或 403,图标大概率不显示,甚至可能拖慢首屏渲染。
确保文件真实存在于网站根目录(例如 Nginx 的
,或 Flask 的
并已启用静态路由)
检查服务器是否配置了正确的 MIME 类型:
;Nginx 需在
块中显式声明:
用 DevTools → Network → 过滤
,点开请求看 Response Headers 中的
是否为
别把
放进
或
—— 即使你在
里写了完整路径,浏览器仍会先发一次无意义的根路径请求,404 会影响优先级
HTML 中
的写法必须带
和(对 PNG/SVG)
现代浏览器(Chrome 94+、Firefox 89+)对
的校验变严格:漏掉
或错误使用
会导致该条目被直接忽略,连控制台都不报错。
ICO 文件推荐写法:
——
是 Chrome 94+ 强制要求,不加就跳过
PNG 文件必须同时带
和精确的
(如
),不能写成
或
不要写两个
都指向 PNG 却不带
,部分 Android 浏览器会随机加载失败
避免混用旧写法:
已被 Chrome 废弃,仅保留
即可
框架项目(Next.js/Vite/React)里 favicon 容易被构建逻辑吞掉
框架默认行为 ≠ 实际生效行为。public 目录放了文件,不代表它真能被浏览器访问到,更不代表
能正确解析路径。
使用HTML,CSS,JavaScript开发Android应用程序 英文文字pdf版附源文件
如果你了解HTML,CSS和JavaScript,您已经拥有所需的工具开发Android应用程序。本动手本书展示了如何使用这些开源web标准设计和建造,可适应任何Android设备的应用程序 - 无需使用Java。您将学习如何创建一个在您选择的平台的Android友好的网络应用程序,然后转换与自由PhoneGap框架到一个原生的Android应用程序。了解为什么设备无关的移动应用是未来的潮流,并开始构建应用程序,提供更
下载
立即学习
“
前端免费学习笔记(深入)
”;
Next.js:必须把
放进
,并在
或
中手动写
;仅靠
自动挂载无效
Vite:开发时热更新不触发 favicon 刷新,改了图标后必须清浏览器缓存(甚至重启 dev server),否则看到的还是旧图
Create React App:首次
后修改
,需删掉
目录重构建,否则旧文件残留
所有框架都要验证:打开
能否直接下载图标,HTTP 状态码是不是 200
多格式共存时,浏览器不是按顺序选第一个,而是匹配上下文
你写一堆
,浏览器不会“从上往下读,第一个有效就用”,而是根据设备像素比、是否是 PWA、是否在 iOS 主屏幕添加等场景,动态匹配最合适的那一条。
只在 iOS 添加到主屏幕时生效,且
必须和 PNG 文件实际分辨率一致,否则 fallback 到模糊版本
(用于 Safari 固定标签页)只支持 SVG,且需配
属性,
加 SVG 是无效的
多个
共存没问题,但每条都必须完整:有
、
、尺寸匹配的
(PNG/SVG)或
(ICO)
HTTPS 页面里不能引用 HTTP 的 favicon 路径,混合内容会被现代浏览器静默屏蔽
最容易被忽略的是服务器返回的
和浏览器对
的严格校验——这两处出错,图标根本不会进渲染管线,连缓存都清不对地方。
GET /favicon.ico/usr/share/nginx/html/favicon.icostatic/favicon.icoimage/x-icontypesimage/x-icon ico;favicon.icoContent-Typeimage/x-iconfavicon.ico/assets//images/hreftypesizestypesizessizes="any"type="image/png"sizessizes="32x32"sizes="32"sizes="32px"rel="icon"sizesrel="shortcut icon"rel="icon"favicon.icopublic/app/layout.tsxpages/_document.tsxpublic/buildpublic/favicon.icobuild/https://yoursite.com/favicon.icoapple-touch-iconsizes="180x180"mask-iconcolorrel="icon"rel="icon"hreftypesizessizes="any"Content-Typesizes