特性状态

特性状态为开发者提供了有关特性在各浏览器厂商的实现阶段的信息,有以下几种状态:

如果上述状态都不适用,则认为该特性是稳定的标准特性。我们不会在内容页面中明确添加此状态。有关这些术语的详细信息,请参见“实验性、已弃用和过时”页面。

要查看有关如何选择特性状态的详细说明,请参阅 @mdn/browser-compat-data(BCD)仓库中的选择状态属性部分。

如何添加或更新特性状态

MDN 上记录的所有特性的特性状态都在其附带的 @mdn/browser-compat-data(BCD)仓库的条目中定义,并且每当发布新的 BCD 版本时,都会在 mdn/content 仓库中自动更新。

警告: 不要手动更新 mdn/content 仓库中的特性状态。要更新特性的状态,你需要在 BCD 仓库中提交拉取请求。在 BCD 仓库中的更改被批准且合并后,自动创建的拉取请求会更新 mdn/content 仓库中的状态。

自动化流程使用了元数据(front-matter)中的 browser-compat 键。该键存储了在兼容性数据中定位特性所需的 BCD 查询。如果 browser-compat 键有多个值,则自动化流程只使用第一个值来渲染状态宏。

如何在内容中指定特性状态?

以下部分记录了在 MDN 文档中呈现特性状态的机制。如前所述,你应该将这些机制视为只读,因为它们会自动包含到内容中。

侧边栏中的特性状态图标

使用元数据中的 status 属性来显示侧边栏中特性的状态图标:

yml
---
title: 特性名称
status:
  - experimental
  - non-standard
  - deprecated
browser-compat: api.feature
---

在呈现侧边栏时,代码会查找每个页面的元数据中的状态。如前所述,这些状态会自动更新;你不需要手动更改它们。

特性状态页面横幅

以下宏用于在页眉呈现状态横幅:

{{SeeCompatTable}}

用于 experimental 状态。它会生成实验性状态横幅:

实验性: 这是一项实验性技术
在将其用于生产之前,请仔细检查浏览器兼容性表格

{{Non-standard_Header}}

用于 non-standard 状态。它会生成非标准状态横幅:

非标准: 该特性是非标准的,请尽量不要在生产环境中使用它!

{{Deprecated_Header}}

用于 deprecated 状态。它会生成已弃用状态横幅:

已弃用: 不再推荐使用该特性。虽然一些浏览器仍然支持它,但也许已从相关的 web 标准中移除,也许正准备移除或出于兼容性而保留。请尽量不要使用该特性,并更新现有的代码;参见本页面底部的兼容性表格以指导你作出决定。请注意,该特性随时可能无法正常工作。

定义列表中的特性状态图标

以下宏用于在定义列表项的旁边呈现行内状态图标:

参见