浏览器兼容性表格和浏览器兼容性数据 (BCD)
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-TypeHTTP 标头的兼容性数据定义在 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 |