发布时间:2025 年 5 月 20 日
当某项 Web 平台功能在所有浏览器中实现后,该功能会变为“新推出的基准”。30 个月后,该功能将变为“广泛提供的基准版”,此时大多数网站都可以采用该功能,而无需担心兼容性问题。本指南介绍了如何使用基准,以及如何利用网站用户提供的数据选择基准目标。
什么是基准目标?
基准目标是指一组 Web 功能,开发者可以根据其基准状态选择支持这些功能。基准目标有两种类型:移动目标和固定目标。
移动目标(例如“广泛提供的基准”或“新推出的基准”)是指包含的一组功能可能会随时间而变化的目标。如果您希望一组受支持的功能随着新版浏览器的发布而自动演变,则移动目标非常有用。
固定目标是指一组特征不会随时间而变化的目标。一般而言,固定目标以日历年为单位。例如,2023 年基准是一个固定目标,包含在 2023 年成为“新推出的基准”的一组 Web 功能。2023 年基准不包括在 2023 年之后成为基准的功能,这意味着 2023 年基准功能集永远不会发生变化。
在可预测性和确定性至关重要的情况下,固定目标很有用,但它们可能会随着时间的推移而过时,因此在使用固定目标时,最好定期重新评估目标。
为何选择目标?
由于兼容性问题,网络上功能的采用受到阻碍,这也阻碍了网络发挥其最大潜力。基准不仅有助于明确浏览器中的功能支持情况,还能帮助您明确何时可以使用某些功能。通过选择反映您受众群体和要求的目标,您可以放心地使用该目标群体中的功能,而无需逐一检查各项功能。
使用数据选择基准目标值
在选择合适的基准目标时,应尽可能以数据为依据。有了这些数据,您就可以更轻松地做出更明智的目标选择。
如果您有网站的实时用户监控数据,则可以了解基准目标如何映射到您的用户。例如,如果您使用 Google Analytics,可以使用 Google Analytics 基准值检查工具免费获取此类信息。
如需使用此功能,您需要在 Google Analytics 中创建新的探索,向报告中添加一些指标和维度,然后将报告导出为 TSV 文件。这些说明详细介绍了此过程。将 TSV 文件导入检查工具后,您应该会看到如下输出:

我们开始看到其他工具也开始支持基准组,这可以让您动态了解受众群体中支持给定目标的比例。例如,RUMvision 包含一个信息中心,可显示每个基准年的受众群体中有多少人获得了支持。
如果我没有来自真实用户的支持数据,该怎么办?
在某些情况下,您可能无法获得基准功能的真实用户数据。好消息是,您可以通过 RUM 归档数据分析大致了解对不同基准目标的支持情况,甚至可以过滤到国家/地区一级。不过,这些数据不会具体到您的网站用户。这是一个常规信息工具,旨在证明以下假设通常是安全的:
- 较新的基准目标(例如今年或去年)在用户中获得的支持可能最少。不过,与任何基准目标一样,随着时间的推移,我们会为其提供更好的支持。
- 我们会为旧版基准目标(尤其是广泛提供的基准)提供良好的支持。如果不确定,请选择“广泛提供”这一目标,随着 30 个月的时间范围的推移,该目标会随之演变。
- 即使是发布时间较早的基准目标(远远超过 30 个月的“广泛发布”期限),也将获得最妥善的支持。虽然“广泛可用”是一个不错的默认目标,但对于需要严格服务等级协议 (SLA) 的特殊用例,
即使您选择的基准目标是 5 年以上的目标,也有可能采用您目前不使用的功能。在最好的情况下,您可能已经在使用这些功能,但使用了可能不需要的 polyfill。
如何在项目中强制执行所选的基准目标?
Browserslist 是一种常用于定位您要支持的浏览器的方法。它在捆绑器和其他相关工具(例如 Babel 和 PostCSS)中使用,用于确定是否需要转换或甚至填充某些代码。
现在,您可以将基准与 Browserslist 搭配使用,这样一来,在选择基准目标时,您就可以将其指定为有效的 Browserslist 查询。这可确保项目中的工具根据您选择的目标转换代码。如需了解详情,请参阅将基准与 Browserslist 搭配使用。
如果功能未达到基准目标,该怎么办?
选择基准目标后,您可能有想要使用的功能,但这些功能不属于该目标。基准不会告诉您应该执行哪些操作,您是否要考虑使用这些功能取决于您要构建的网站类型和预期的受众群体。
例如,电子商务网站或 B2B 网站可能愿意降低支持阈值,并在用户支持时处理问题,而政府网站可能需要较高的支持阈值。这里有一个重要的经验法则:并非所有 Web 功能都会以相同的方式失败。您可以通过多种方式对功能进行分类,以便了解其失败原因,但一种可能有用的功能分桶方法如下:
- 增强功能:如果在不受支持的浏览器中使用此功能,体验不会中断。用户体验可能会有所下降,但用户可能不会注意到。示例:
loading="lazy"
。 - 附加:该功能提供一些可能明显的附加优势,例如网页样式或某些功能的变化。如果浏览器不支持该功能,用户可能不会注意到差异,除非在支持该功能的浏览器中进行比较。示例:子网格
- 严重:如果不支持该功能,用户将获得不良的用户体验,甚至可能完全无法使用该功能。示例:将 File System Access API 用作核心且必需的功能。
您可能还会发现,目标平台之外的特定功能的支持情况比您想象的要好。您可以了解有多少用户支持特定功能。“能否使用”功能可以根据您的 Google Analytics 数据检查对各项功能的支持情况。如果对您有帮助,RUMvision 还可以展开细目并探索功能级数据。
这样,您就可以利用基准目标来减少需要仔细考虑的特征数量。您无需担心目标内的任何内容。如果目标平台之外有 1 到 2 项功能特别有用,您可以使用这些工具进行进一步探索,并决定是使用 polyfill 还是作为渐进式增强功能。
总结
每种 Web 应用都有不同的要求,从对不兼容性问题容忍度更高的电子商务网站,到必须面向尽可能多的用户提供服务且正常运行的政府网站。这些计算您必须自行完成,基准测试的目标不是告诉您在采用新网站功能时要做出哪些决策,而是告诉您如何做出这些决策。