Web App Manifest:categories 支持
发布于
清单成员 categories 是一个字符串数组,用于对 Web 应用进行分类,例如
"shopping" 或 "games",供应用商店和其他分发目录在列出或发布应用时使用;
根据 MDN 的说明,该值在浏览器或已安装的应用中均不可见。
浏览器与生态支持
Section titled “浏览器与生态支持”- 图例
- 支持
- 部分支持
- 需开启标志
- 不支持
- 未知
| 浏览器 / 平台 | 支持 | 版本 | 置信度 | 来源 | 备注 |
|---|---|---|---|---|---|
| Chrome (Desktop) | — 不适用 | — | 中 | 来源 | 1 |
| Chrome (Android) | — 不适用 | — | 中 | 来源 | 2 |
| Edge (Desktop) | — 不适用 | — | 中 | 来源 | 3 |
| Samsung Internet | — 不适用 | — | 中 | 来源 | 4 |
| Firefox (Desktop) | — 不适用 | — | 中 | 来源 | 5 |
| Safari (iOS) | — 不适用 | — | 中 | 来源 | 6 |
- 不适用:categories 是安装 / 分发渠道读取的应用商店元数据,浏览器引擎本身从不渲染或处理它。
- 不适用:categories 是安装 / 分发渠道读取的应用商店元数据,浏览器引擎本身从不渲染或处理它。
- 不适用:categories 是安装 / 分发渠道读取的应用商店元数据,浏览器引擎本身从不渲染或处理它。
- 不适用:categories 是安装 / 分发渠道读取的应用商店元数据,浏览器引擎本身从不渲染或处理它。
- 不适用:categories 是安装 / 分发渠道读取的应用商店元数据,浏览器引擎本身从不渲染或处理它。
- 不适用:categories 是安装 / 分发渠道读取的应用商店元数据,浏览器引擎本身从不渲染或处理它。
在清单中列出一个或多个小写的分类字符串:
{ "name": "Field Notes", "start_url": "/", "display": "standalone", "categories": ["productivity", "utilities"]}如何在运行时检测
Section titled “如何在运行时检测”根据 MDN 的说明,categories 是补充性清单元数据,不会影响应用的运行时行为。
如果你已经在 JavaScript 中拿到了清单对象,可以从中读回该值,并对缺失值或
非数组值进行防御:
function readManifestCategories(manifest) { if (!('categories' in manifest) || !Array.isArray(manifest.categories)) { // 未声明分类,或该值不是数组:视为未分类,而不是抛出异常。 return []; } return manifest.categories;}- 根据 MDN 的说明,
categories是补充元数据,不会影响应用的运行时行为, 也不会影响浏览器对应用的呈现方式。 - 根据规范,目录与商店会尽力(best-effort)尝试遵循该提示,但与搜索引擎的 meta keywords 类似,并非强制要求遵循。
- 规范鼓励作者使用小写字符串,并提供了一份已知分类列表;MDN 指出, 应用商店在呈现应用时可能使用不同的取值。
- 声明
categories是可选的——根据规范,它属于清单的补充性成员之一。
← 返回兼容性浏览器。