Web 应用名称必须由 manifest.json 中的 short_name 和 name 字段定义,name="application-name" 是 Chrome 39–45 短暂支持后已废弃的非标准 meta 属性,现代浏览器和 PWA 平台均不识别,添加它仅带来维护混淆、工具告警和优先级歧义等隐性成本。

name="application-name" 是一个被部分浏览器(主要是旧版 Chrome 和早期 PWA 实现)短暂支持、但从未被 HTML 标准采纳的 <meta> 属性。它不生效于现代 Web 应用,也不该用于定义 Web 应用名称。
Chrome 39–45 时期曾短暂解析但已废弃
2014 年底起,Chrome 在 39 到 45 版本中尝试通过 <meta name="application-name" content="MyApp"> 影响添加到主屏幕(A2HS)后的显示名。但很快发现行为不一致:
- 它只在未提供 manifest.json 或 manifest 中缺失 name/short_name 时“可能” fallback 使用
- iOS Safari 完全忽略
- 后续 Chrome 版本(46+)移除了对该 meta 的任何逻辑处理
- 现代 Lighthouse、Web.dev 工具也不会检测或报告它
真正生效的 Web 应用名称由 manifest.json 控制
当前所有主流平台(Android PWA、Windows Web Apps、macOS Safari PWA)都依赖 manifest.json 中的字段,<meta> 无法替代:
-
short_name:用于桌面图标、任务栏、启动屏等空间受限场景(必须 ≤ 12 个字符,无空格更稳妥) -
name:完整应用名,用于系统设置、权限提示等(可含空格和符号) - 两者都需在
<link rel="manifest">引入的文件中声明,且响应头需为Content-Type: application/manifest+json
为什么不用 name="application-name" 写兼容?
加了也没坏处?实际有隐性成本:
- 混淆维护者:新人看到这个 meta 会误以为是标准做法,查文档绕弯路
- 干扰自动化工具:某些静态扫描器(如 old html-validate 规则)会报 warning,提示“非标准 meta name”
- 与 manifest 冲突时优先级模糊:若 manifest 中
short_name为空,Chrome 不会 fallback 到该 meta,而是退回到<title></title> - Service Worker 注册、A2HS 提示、桌面安装均不读取它 —— 纯属冗余
Web 应用名称这件事,就认 manifest.json 里的 short_name 和 name,其他地方写的都是摆设。连 <title></title> 都比 name="application-name" 更可靠一点——至少它影响标签页和 SEO。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











