兼容性表格和浏览器兼容性数据存储库 (BCD)
MDN 有一套标准的表格格式,用于说明所有浏览器(如 DOM、HTML、CSS、JavaScript、SVG 等)中共享技术的兼容性。为了使这些数据能够在多个项目中以编程方式使用,一个 Node.js 包是从 browser-compat-data 存储库 构建的,并发布到 npm。
要修改这些表格中的数据,可以在存储库的 贡献指南 以及 数据指南指南 中找到全面的文档以及用于表示数据的约定和 JSON 架构的最新详细信息。如果您有任何疑问或发现问题,欢迎 寻求帮助。
在 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
。
兼容性数据查询应在页面前置信息中的 browser-compat
密钥中指定。例如,AbortController
将按如下所示添加
md
---
title: AbortController
slug: Web/API/AbortController
page-type: web-api-interface
browser-compat: api.AbortController
---
然后,对应于密钥的兼容性和规范表会自动呈现以替换源代码中的 {{Compat}}
和 {{Specifications}}
宏。
如果同一页面上需要多个兼容性/规范表,则可以将 browser-compat
的值指定为数组。例如,对于 通道消息传递 API,这将按如下所示添加
md
---
title: Channel Messaging API
slug: Web/API/Channel_Messaging_API
page-type: web-api-overview
browser-compat:
- api.MessageChannel
- api.MessagePort
---
宏调用会生成以下表格(以及相应的注释集)
兼容性表格示例
BCD 表格仅在启用 JavaScript 的浏览器中加载。
规范表示例
规范 |
---|
DOM 标准 # interface-abortcontroller |