无需登录 数据私有 本地保存

电池状态 API 演示 - 电量/充电/剩余时间

29
0
0
0
核心概念
术语定义
Battery Status APIW3C 制定的标准 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。该值由操作系统估算,可能因使用强度不同而变化。
技术术语
术语定义
BatteryManagerBattery 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 能够根据电量情况调整行为,如低电量时减少网络请求、自动保存用户数据等,提升移动端用户体验。