MDN浏览器兼容性数据项目(BCD)核心数据规范指南

MDN浏览器兼容性数据项目(BCD)核心数据规范指南

browser-compat-data This repository contains compatibility data for Web technologies as displayed on MDN browser-compat-data 项目地址: https://gitcode.com/gh_mirrors/br/browser-compat-data

前言

作为前端开发者,我们经常需要查询各种Web技术在不同浏览器中的兼容性情况。MDN浏览器兼容性数据项目(BCD)正是为此而生,它通过结构化数据为开发者提供准确的浏览器支持信息。本文将深入解析BCD项目的数据规范体系,帮助开发者理解如何正确记录和维护浏览器兼容性数据。

版本号记录规范

基本原则

在记录浏览器版本号时,BCD遵循以下核心原则:

  1. 记录主/次版本线:只记录主版本号或次版本号,不记录补丁版本号。例如:

    • Chrome 76.0.3809.46 → 记录为76
    • Safari 10.1.3 → 记录为10.1
  2. 最早适用版本原则:记录功能首次支持的完整发布版本线,而非特定构建版本。

特殊情况处理

  1. 回溯发布版本:某些浏览器存在非线性的版本发布历史,需特别注意:

    • Safari 6.1 → 记录为7.0
    • Safari 7.1 → 记录为8.0
    • 但NodeJS例外,因其有独特的发布周期
  2. iOS Safari版本:使用iOS系统版本号而非Safari或WebKit版本号

  3. 预览版标记:当稳定版版本号未知时使用"preview"值:

    • 功能仅在Canary/Technology Preview中可用
    • 不确定功能是否会进入稳定版
    • 但不要用于"计划支持但未实现"的情况

实现状态标记规范

部分实现标记

当功能实现不完整时,使用"partial_implementation": true并附加说明:

  1. 识别但功能不全:浏览器能识别API但行为不符合预期
  2. 跨平台限制:功能仅在某些操作系统上可用
    • 例外:依赖操作系统硬件支持的功能(如CSS媒体查询)

实验性标记

experimental属性的设置规则:

| 情况 | 设置值 | |------|--------| | 单引擎支持 | true | | 多引擎支持 | false | | 仅标志支持 | true | | 不兼容前缀 | true | | 共同前缀 | false |

过期规则:单引擎功能支持满2年且无重大变更可设为false

废弃标记

deprecated设为true的条件:

  • 规范中明确标记为废弃/遗留
  • 已从规范中移除
  • 标准组织正式声明废弃
  • 浏览器控制台显示废弃警告

注意:仅因老旧或不流行不足以标记为废弃

数据清理规范

功能移除标准

符合以下任一条件的功能可移除:

  1. 从未在任何浏览器中实现
  2. 最新稳定版中无标志支持
  3. 已从所有浏览器移除超过2年
  4. 过去5年所有版本均不支持

标志数据移除

标志数据在以下情况可移除:

  1. 功能已在稳定版默认支持
  2. 标志已无法启用该功能
  3. 标志已从浏览器移除

无浏览器支持的功能

同时满足以下条件的功能不应添加:

  1. 未在任何稳定版中实现
  2. 当前无标志支持
  3. 无实现意向的跟踪bug

API参数支持记录规范

记录函数参数支持情况的命名约定:

  1. 命名参数paramname_parameter,描述为`paramname` parameter

    • 示例:hello(firstName)firstName_parameter
  2. 位置参数ordinal_parameter,描述为Ordinal parameter

    • 示例:count()的第二个参数 → second_parameter
  3. 参数对象属性paramname_prop_parameter,描述为`paramname.prop` parameter

    • 示例:schedule({year:1970})date_year_parameter

特殊类别规范

Web扩展特性

Web扩展特性不包含状态块(status block),因为:

  • 无规范约束
  • 完全由浏览器厂商自主实现

最佳实践建议

  1. 版本号记录:始终追踪功能的首次稳定支持版本线
  2. 部分实现:详细记录不完整实现的具体表现
  3. 状态标记:定期审查实验性和废弃状态
  4. 数据清理:每季度检查是否符合移除标准
  5. 参数支持:使用标准命名格式确保一致性

通过遵循这些规范,我们可以确保BCD数据保持准确、一致且易于维护,为开发者提供可靠的浏览器兼容性参考。

browser-compat-data This repository contains compatibility data for Web technologies as displayed on MDN browser-compat-data 项目地址: https://gitcode.com/gh_mirrors/br/browser-compat-data

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蔡妙露Percy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值