平台 · 平台
Baseline 支持概览
发布于
Baseline 是面向 Web 平台特性(API、CSS 属性、JavaScript 语法)的跨浏览器支持信号,按七款浏览器与平台组合上的持续支持情况分为三档:广泛可用、新近可用、有限可用。「Baseline 2026」是收录 2026 年内跨入「新近可用」的特性的年度特性集,在年底之前一直处于开放状态。
Baseline 由 Chrome 团队发起,由 W3C WebDX Community Group 定义;数据以 web-features npm 包的形式从 web-platform-dx/web-features 仓库发布,MDN、Can I Use、Lighthouse 与 DevTools 读取的都是这份数据。
计入支持判定的七款浏览器
Section titled “计入支持判定的七款浏览器”MDN 的 Baseline 词条列出了判定所依据的固定集合:iOS 上的 Safari、macOS 上的 Safari、Android 上的 Chrome、桌面 Chrome、桌面 Edge、Android 上的 Firefox、桌面 Firefox。集合之外的浏览器不会改变特性的档位:Samsung Internet、Opera、Android WebView 与微信内置 WebView 都不计入,因此一项「广泛可用」的特性仍可能在嵌入式 WebView 中失效。
| 档位 | 判定条件 | MDN 徽标 |
|---|---|---|
| 广泛可用 | 在七款浏览器中各自持续支持至少 30 个月 | 绿色对勾 |
| 新近可用 | 至少在七款浏览器的最新稳定版中都可用 | 蓝色对勾并标注年份,例如「Baseline 2022」 |
| 有限可用 | 七款中至少缺一款 | 灰色叉号 |
web.dev/baseline 上的 30 个月计时从特性的基准日期(keystone date)开始,Baseline 定义把它定为核心浏览器中最后一个加入支持的那次发布的日期(依据 @mdn/browser-compat-data,并排除标为 partial_implementation 的条目),而不是从年度标签开始。高档还有第二个条件:基准日期必须早于最新的 Firefox x.0 ESR 发布,所以 Firefox 在某次 ESR 切分后不久才支持的特性可能要等超过 30 个月。不计这一条,2026-02 跨入新近可用的特性在 2028-08 成为广泛可用,2026-11 才跨入的则要等到 2029-05,同属「Baseline 2026」的两项特性晋级时间可以相差 9 个月。
特性还会按跨入「新近可用」的日历年份分组:web.dev 把 Baseline 2024 定义为「2024 年内成为 Baseline 新近可用的全部项目」,对 2025 年沿用同一公式,并把 2026 年描述为「最新且仍在发展中的特性集」。因此 Baseline 2026 不是一份已封闭的清单,它会随浏览器发版持续增长到 2026-12。本站追踪的 PWA 特性在按浏览器中按浏览器逐一标注 Baseline 状态,同时也列出 Baseline 未覆盖的浏览器。
Baseline 是构建期信号,有公开的数据结构;它在运行时什么都不说,所以下面两个示例分别位于部署的两侧。
从 web-features 读取特性的 Baseline 状态
Section titled “从 web-features 读取特性的 Baseline 状态”web-features 包为每个特性暴露 status:baseline 取值 "high"、"low" 或 false,日期字段 baseline_low_date 与 baseline_high_date,以及以 chrome、chrome_android、edge、firefox、firefox_android、safari、safari_ios 为键、记录最近引入该特性的版本的 support 映射(data.schema.json,github.com)。构建脚本可以据此决定代码路径:
import { features } from 'web-features';
const { status } = features['web-share'];if (status.baseline === 'high') { console.log(`广泛可用,自 ${status.baseline_high_date} 起`);} else if (status.baseline === 'low') { console.log(`新近可用,自 ${status.baseline_low_date} 起;Firefox ${status.support.firefox ?? '无'}`);} else { console.log('有限可用:保留回退路径');}按浏览器的细节在 support 映射里;只看 baseline 并不知道七款中缺的是哪一款。
在运行时检测特性本身
Section titled “在运行时检测特性本身”「广泛可用」的徽标到不了用户手里的浏览器,WebView 也在定义之外,所以页面仍要检测 API 并保留回退:
async function shareOrCopy(url) { if (!('share' in navigator)) { await navigator.clipboard.writeText(url); // 没有分享面板:改为复制 return 'copied'; } await navigator.share({ url }); return 'shared';}Baseline 决定回退路径值不值得维护;特性检测决定它是否运行。
Baseline 只衡量浏览器支持。MDN 明确写道,它「不能替代无障碍、可用性、性能、安全性或其他测试」,也可能不反映更旧的设备与版本、定义之外的浏览器(例如操作系统 WebView)以及屏幕阅读器等辅助技术。对 PWA 而言,这意味着其他平台页面记录的 manifest、安装提示与 WebAPK 行为要按浏览器、按操作系统逐一判断,而不是看档位。
Baseline 状态会出现在 web.dev/baseline 列出的工具里:Chrome DevTools 的 Elements 面板(针对 CSS 属性)、Lighthouse 的「Baseline Features」审计、ESLint 的 CSS 规则、Browserslist 查询、webstatus.dev 仪表盘、VS Code 以及一个 Netlify 扩展。它们读取的是同一份 web-features 数据,两个工具之间的分歧只会是包版本的差异,而不是不同的判定。
- Baseline (compatibility)(developer.mozilla.org)
- Baseline(web.dev)
- web-platform-dx/web-features(github.com)
- 按浏览器
- 按 OS
- Firefox 上的 PWA
规范
| 规范 | 状态 |
|---|---|
| 无。 | |