浏览器兼容性表格和浏览器兼容性数据 (BCD)

Baseline 已广泛支持

此功能已成熟,并可在多种设备和浏览器版本上运行。自 2019 年 3 月以来,它已在所有浏览器中可用。

MDN 对说明 DOM、HTML、CSS、JavaScript、SVG 等共享技术在所有浏览器中兼容性的表格采用标准格式。为了让这些数据能在多个项目中以编程方式访问,我们从 browser-compat-data 仓库构建了一个 Node.js 包,并发布到了 npm。

要修改这些表格中的数据,您可以在仓库的 贡献指南以及 数据指南中找到全面的文档以及用于表示数据的约定和 JSON Schema 的最新详情。如果您有任何疑问或发现问题,欢迎 寻求帮助

在 MDN 页面中使用 BCD 数据

一旦数据被包含在 browser-compat-data 仓库中,您就可以开始在 MDN 页面中动态地包含基于这些数据的浏览器兼容性和规范表格。

要开始在 MDN 页面中使用 BCD 数据,请使用您希望包含的相关数据在 BCD 源文件中指定的查询字符串。例如:

  • AbortController 的兼容性数据定义在 api/AbortController.json 中,可以使用 api.AbortController 进行查询。
  • Content-Type HTTP 标头的兼容性数据定义在 http/headers/content-type.json 中,查询为 http.headers.Content-Type
  • VRDisplay.capabilities 属性的兼容性数据定义在 api/VRDisplay.json 中,其查询为 api.VRDisplay.capabilities

兼容性数据查询应在页面的 front-matter 中,在 browser-compat 键下指定。例如,AbortController 会像下面这样添加:

md
---
title: AbortController
slug: Web/API/AbortController
page-type: web-api-interface
browser-compat: api.AbortController
---

然后,与该键对应的兼容性和规范表格将自动渲染,替换掉源文件中的 {{Compat}}{{Specifications}} 宏。

如果同一页面需要多个兼容性/规范表格,您可以将 browser-compat 的值指定为一个数组。例如,对于 Channel Messaging API,添加方式如下:

md
---
title: Channel Messaging API
slug: Web/API/Channel_Messaging_API
page-type: web-api-overview
browser-compat:
  - api.MessageChannel
  - api.MessagePort
---

宏调用会生成以下表格(以及相应的注释集):

兼容性表格示例

规范表格示例

规范
DOM
# interface-abortcontroller