返回知识中心
平台

浏览器 API 兼容数据与功能回退

使用公开兼容数据和运行时能力检测设计可靠的功能回退。

文档中心

想直接进入 平台 文档吗?

这篇文章属于博客内容库。若你要步骤化配置、参考说明和持续更新,请直接进入对应 docs 分区。

兼容数据指导能力检测和受支持的回退路径

公开数据可以帮助选择测试矩阵,但不保证每个浏览器的 API 完全相同。运行时检测能力并提供可用回退。API 存在不代表用户身份或设备类别。

数据与能力检测

查看 MDN Browser Compatibility Data 及 Chrome 能力检测指南。在调用前确认所需能力,处理拒绝和异常,不解析 user-agent。

决策表

观察决定结果
方法存在尝试主路径显示进度
API 缺失使用回退保留任务
权限拒绝提供回退保留控制权
调用失败分类失败不隐藏重试
调用完成验证应用结果确认可见结果

失败 fixture

const supported = typeof navigator.share === 'function';
const host = document.createElement('div');
host.innerHTML = '<p id="status"></p><button id="fallback" hidden>使用备用操作</button>';
document.body.append(host);
const result = supported
  ? await navigator
      .share({ title: '合成项目', url: '/fixture' })
      .then(() => 'completed')
      .catch(() => 'rejected')
  : 'missing';
const status = document.querySelector('#status');
if (result === 'missing' || result === 'rejected') {
  document.querySelector('#fallback').hidden = false;
  status.textContent = '请使用可用的备用操作';
}
if (result === 'completed') status.textContent = '已分享';
console.assert(
  status.textContent.length > 0 && (result === 'completed' || !document.querySelector('#fallback').hidden)
);
host.remove();

在合成页面测试方法缺失和调用拒绝。BotBrowser 可提供受控 context 运行授权流程,但不保证 API、权限或回退设计。

维护与验证

浏览器版本、权限或安全上下文变化后,重新核对公开数据,并记录来源日期与观察状态。

主路径失败时保留用户输入,确保备用操作可以用键盘完成,并说明为何显示该操作。

BotBrowser 可为授权流程提供受控浏览器上下文和可重复的合成检查,但不保证 API 可用,也不会授予权限。

将浏览器结果与服务器结果分开记录;调用成功不等于业务操作完成。

相关示例

还可阅读 WebDriver BiDi 事件与浏览器自动化 以及 Credential Management 登录体验。

公开数据用于选择测试矩阵,调用前的能力判断用于选择实际路径。

断言应描述用户可见结果和观察边界,避免把一次合成结果当成普遍保证。

记录每个备用路径的原因和复核日期,避免保存敏感数据。

浏览器观察结果不代表服务器已保存记录,应确认应用的可见状态。

复核时保留第一个有意义的失败,区分超时与能力缺失,并说明仍可用的界面控件。

最终复核应记录浏览器上下文、权限状态、可见结果和备用操作,以便在不使用私有数据的情况下复现决定。

总结

文档应保留能力与结果之间的边界。

说明备用操作是否保留了用户输入,并将说明放在被测试控件附近。

清楚记录可见状态和下一步操作。

来源

#浏览器 API#兼容数据#能力检测#功能回退

让 BotBrowser 从研究走向生产

先用这些指南理解模型,再进入跨平台验证、隔离上下文和面向规模化的浏览器部署。