移动端Chrome调用navigator.getBattery()报TypeError错误求助
移动端Chrome中Battery Web API在同版本设备上表现不一致的问题
我正在开发一款适配移动端Google Chrome的网站,核心功能是展示时间(hh:mm)、电池电量等信息。在使用Battery Web API时遇到异常:navigator.getBattery方法为undefined。
获取电池电量的核心代码如下:
navigator.getBattery().then(function (battery) { console.log(Math.round(battery.level * 100)) });
奇怪的是,昨天这段代码在我的平板(Chrome 103)上报错,但今天未修改任何代码的情况下又能正常运行;但另一台同款Chrome版本(103)的三星Galaxy TAB A7 LITE平板上,始终出现相同的错误。我已经多次重启设备,也通过数据线连接笔记本用开发者工具调试,问题依然存在。
我曾查阅过类似错误的讨论,但那些案例都是发生在Web Worker环境中,和我的场景不符。另外,我排除了调用时机的问题——哪怕把代码绑定到body.onload事件中,只要第一次报错,后续navigator.getBattery就一直是undefined。我怀疑是系统权限相关的问题,但在Chrome的应用设置里找不到任何和电池相关的权限限制。
恳请各位开发者帮忙分析解决这个问题。
内容的提问来源于stack exchange,提问作者AlexandreLemoine
相关产品推荐
相关产品推荐

