Manifest:description 支持情况
发布于 更新于
Web App Manifest:description —— 根据 MDN 的说明,description 清单成员
“用于说明你的 Web 应用的核心功能”(“is used to explain the core features or
functionality of your web application”),这段文字“有助于用户在应用商店中查看时
理解你的应用的用途”(“helps users understand your app’s purpose when viewing it in
an app store”)。MDN 指出该成员是可选的,应用商店在展示应用时也可能不会使用这段
文字。
浏览器与生态支持情况
Section titled “浏览器与生态支持情况”- 图例
- 支持
- 部分支持
- 需开启标志
- 不支持
- 未知
| 浏览器 / 平台 | 支持 | 版本 | 置信度 | 来源 | 备注 |
|---|---|---|---|---|---|
| Chrome (Desktop) | 支持 | 88 | 高 | 来源 | — |
| Chrome (Android) | 支持 | 88 | 高 | 来源 | 1 |
| Edge (Desktop) | 支持 | 88 | 高 | 来源 | 2 |
| Firefox (Desktop) | 不支持 | — | 高 | 来源 | 3 |
| Firefox (Android) | 不支持 | — | 高 | 来源 | 4 |
| Safari (macOS) | 不支持 | — | 高 | 来源 | 5 |
| Safari (iOS) | 不支持 | — | 高 | 来源 | 67 |
| Samsung Internet | 支持 | 15.0 | 高 | 来源 | 8 |
| WebView (Android) | 支持 | 88 | 高 | 来源 | 9 |
- 由 browser-compat-data 镜像自 Chrome 的数据推导。
- 由 browser-compat-data 镜像自 Chrome 的数据推导。
- browser-compat-data 未记录 Firefox 的支持。
- 该属性可以解析,但没有任何效果。
- browser-compat-data 未记录 Safari 的支持。
- browser-compat-data 未记录 iOS 版 Safari 的支持。
- 由 browser-compat-data 镜像自 Safari 的数据推导。
- 由 browser-compat-data 镜像自 Chrome Android 的数据推导。
- 由 browser-compat-data 镜像自 Chrome Android 的数据推导。
{ "name": "My App", "description": "Track your habits and build streaks, even offline."}如何在运行时检测
Section titled “如何在运行时检测”MDN 指出,description “不会影响应用的运行时行为,也不会影响浏览器呈现应用的
方式”(“does not affect the app’s runtime behavior or how browsers present the
app”),而根据 MDN 自身的兼容性数据,Android 版 Firefox “会解析该属性,但不产生
任何效果”(“parses, but has no effect”)。这两份资料都没有描述脚本可以用来查询
当前浏览器是否实现或响应该成员的方式——获取并解析页面自身的清单文件,只能确认
站点声明了什么,并不能确认浏览器是否会对它做任何处理:
async function manifestDeclaresDescription() { if (typeof document === 'undefined') { // 回退:当前上下文没有可用的 manifest link 元素。 return false; } const link = document.querySelector('link[rel="manifest"]'); if (!link) return false; const manifest = await fetch(link.href).then((r) => r.json()); return typeof manifest.description === 'string' && manifest.description.length > 0;}请只把它当作部署校验(清单是否携带了非空的 description),而不是支持性检测。
由于浏览器无法确认这段文字是否真的会被展示出来,应通过你自己能掌控的渠道
提供同样的文字——例如应用内的“关于本应用”区块,或你自己的应用商店信息——
而不要只依赖清单成员本身。
- 根据 MDN 的 browser-compat-data,Firefox 完全不支持
description——不要指望它 会在那里被展示出来。 - MDN 的数据指出,在 Android 版 Firefox 上,该属性可以被正常解析而不会报错,但 不会产生任何效果,因此仅靠校验清单本身无法发现它被忽略了。
- 根据同一份 browser-compat-data,Safari 也未实现
description——在依赖这个 成员用于任何你无法控制的应用商店文字之前,请先查看上方表格了解完整的逐浏览器 支持情况。 - MDN 指出
description是可选的,即使该成员本身能被正常解析,应用商店也可能不会 使用这段文字。
← 返回兼容性浏览器。