核心概念
| 术语 | 定义 |
|---|---|
| Battery Status API | W3C 制定的标准 Web API,允许网页应用通过 JavaScript 获取设备电池的状态信息,包括电量百分比、充电状态和充放电时间估算。它是 Web Platform 的一部分,通过 navigator.getBattery() 方法调用。 |
| level 属性 | BatteryManager 对象的一个属性,返回 0 到 1 之间的浮点数表示当前电量比例。例如 0.85 表示 85% 的电量。该属性会随着设备电量变化通过 levelchange 事件通知。 |
| charging 属性 | 布尔值属性,true 表示设备正在充电,false 表示未充电。当充电状态变化时,会触发 chargingchange 事件。在桌面电脑上,该属性通常始终返回 true(模拟电池满电状态)。 |
| chargingTime 属性 | 返回预计充满电所需的秒数。如果正在充电则返回预计时间,已充满返回 0,未充电时返回 Infinity。该属性的变化会触发 chargingtimechange 事件。 |
| dischargingTime 属性 | 返回电池放电至 0% 所需的秒数。如果未充电则返回预计时间,充电中返回 Infinity。该值由操作系统估算,可能因使用强度不同而变化。 |
技术术语
| 术语 | 定义 |
|---|---|
| BatteryManager | Battery Status API 返回的电池管理对象,包含 level、charging、chargingTime、dischargingTime 四个核心属性以及多个事件监听器。通过 navigator.getBattery() 的 Promise 获得。 |
| getBattery() 方法 | navigator 对象上的异步方法,返回一个 Promise,解析后得到 BatteryManager 对象。首次调用可能会触发浏览器的权限提示(取决于浏览器实现)。 |
| levelchange 事件 | 当设备电量百分比发生变化时触发的事件。开发者可以添加事件监听器来响应电量变化,例如在电量过低时执行特定操作。 |
| chargingchange 事件 | 当充电状态发生变化(从充电到放电或反之)时触发的事件。本工具使用此事件实时更新充电状态显示和时间估算。 |
| W3C 标准 | 万维网联盟(World Wide Web Consortium)制定的 Web 技术标准。Battery Status API 是 W3C Recommendation 级别的标准,但各浏览器的实现和支持程度存在差异。 |
| Chromium 内核 | 基于 Chromium 开源项目的浏览器引擎,Chrome、Edge、Opera、Samsung Internet 等浏览器均使用此内核。这些浏览器完整支持 Battery Status API。 |
应用场景术语
| 术语 | 定义 |
|---|---|
| 渐进增强 | 一种 Web 开发策略,指先确保基础功能在所有浏览器中可用,然后在支持高级 API 的浏览器中提供更好的体验。Battery API 就是渐进增强的典型案例——支持时提供电量感知功能,不影响核心功能。 |
| 设备指纹 | 通过收集浏览器和设备的各种属性来唯一标识用户的技术。电池状态的微小波动曾被认为可能用于设备指纹追踪,这也是 Firefox 移除该 API 的原因之一。 |
| PWA 感知 | 渐进式 Web 应用对设备状态的感知能力。Battery API 使 PWA 能够根据电量情况调整行为,如低电量时减少网络请求、自动保存用户数据等,提升移动端用户体验。 |
UD5工具箱