Navigator:getBattery() 方法
        
        
          Limited availability
        
        
        
          
                
              
                
              
                
              
        
        
      
      This feature is not Baseline because it does not work in some of the most widely-used browsers.
getBattery() 方法提供了系统的电池信息,它返回一个包含电池对象的 promise 对象,兑现一个 BatteryManager 对象,它提供了一些新的属性和事件来获取与监控电池状态。这个方法实现了 Battery Status API,参见那篇文档以获得更多额外的细节、使用 API 的指引和示例代码。
自 Chrome 103 起,Battery Status API 的 Navigator.getBattery() 方法只在严格上下文中暴露。
备注:对该特性的访问可由 Permissions-Policy 的 battery 指令控制。
语法
js
getBattery()
参数
无。
返回值
一个 Promise,兑现一个可用于获取电池状态信息的 BatteryManager 对象。
异常
NotAllowedErrorDOMException- 
对该特性的使用被权限策略阻止。
 SecurityError- 
用户代理不会向不安全上下文暴露电池信息,而此方法在不安全的上下文中被调用了。
 
示例
此示例获取了电池当前充电的状态,并建立了 chargingchange 事件的处理器,因此当充电状态发生变化时,其状态会被记录下来。
js
let batteryIsCharging = false;
navigator.getBattery().then((battery) => {
  batteryIsCharging = battery.charging;
  battery.addEventListener("chargingchange", () => {
    batteryIsCharging = battery.charging;
  });
});
对于更多示例与具体信息,参见 Battery Status API。
规范
| Specification | 
|---|
| Battery Status API> # dom-navigator-getbattery>  | 
            
浏览器兼容性
Loading…