跳转到内容

Web App Manifest:categories 支持

发布于

清单成员 categories 是一个字符串数组,用于对 Web 应用进行分类,例如 "shopping" 或 "games",供应用商店和其他分发目录在列出或发布应用时使用; 根据 MDN 的说明,该值在浏览器或已安装的应用中均不可见。

  • 图例
  • 支持
  • 部分支持
  • 需开启标志
  • 不支持
  • 未知
浏览器 / 平台支持版本置信度来源备注
Chrome (Desktop)— 不适用—中来源1
Chrome (Android)— 不适用—中来源2
Edge (Desktop)— 不适用—中来源3
Samsung Internet— 不适用—中来源4
Firefox (Desktop)— 不适用—中来源5
Safari (iOS)— 不适用—中来源6
  1. 不适用:categories 是安装 / 分发渠道读取的应用商店元数据,浏览器引擎本身从不渲染或处理它。
  2. 不适用:categories 是安装 / 分发渠道读取的应用商店元数据,浏览器引擎本身从不渲染或处理它。
  3. 不适用:categories 是安装 / 分发渠道读取的应用商店元数据,浏览器引擎本身从不渲染或处理它。
  4. 不适用:categories 是安装 / 分发渠道读取的应用商店元数据,浏览器引擎本身从不渲染或处理它。
  5. 不适用:categories 是安装 / 分发渠道读取的应用商店元数据,浏览器引擎本身从不渲染或处理它。
  6. 不适用:categories 是安装 / 分发渠道读取的应用商店元数据,浏览器引擎本身从不渲染或处理它。

源数据: /compatibility/manifest-categories.json · 全球使用占比: 0 % (StatCounter 2026-05)

来源: 规范 · MDN · 最近核验 2026-09-04 · 置信度: 中 (由来源计算)

在清单中列出一个或多个小写的分类字符串:

{
"name": "Field Notes",
"start_url": "/",
"display": "standalone",
"categories": ["productivity", "utilities"]
}

根据 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 是可选的——根据规范,它属于清单的补充性成员之一。

← 返回兼容性浏览器。