首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Uncaught : navigator.getBattery不是函数

Uncaught : navigator.getBattery不是函数
EN

Stack Overflow用户
提问于 2022-09-01 14:24:50
回答 1查看 57关注 0票数 0

我正在开发一个用于使用谷歌Chrome的移动设备的网站,其目的是列出诸如时间(hh:mm)和电池级别等信息。我看到了电池网络API,但我遇到了一个奇怪的错误:单击以查看铬错误

下面是我为获得电池电量而使用的代码:

代码语言:javascript
复制
navigator.getBattery().then(function (battery) {
    console.log(Math.round(battery.level * 100))
});

昨天我出了错误,没有更改任何代码,它今天正在我的平板电脑上工作(铬版: 103),但我在另一款平板电脑(三星Galaxy A7 LITE,Chrome : 103)上进行了测试,我遇到了错误,我多次重新启动设备,使用电缆连接到我的笔记本电脑的devtools检查页面,但我解决不了这个错误。

我看到一个主题有同样的错误,但他正在开发一个网络工作者,这与我的上下文不一样。

无论何时调用navigator.getBattery(),如果错误出现在开始时,它将在以后保持未定义的状态,因此调用它的时间不成问题(我甚至将其绑定到body.onload,但它没有工作)。

我认为这可能是系统信息上的授权问题,但在Chrome的应用程序设置中,没有任何涉及电池的授权。

欢迎任何帮助:D

EN

回答 1

Stack Overflow用户

发布于 2022-09-02 08:28:59

我发现我的错误是哪里来的。这是HTTPS的一个问题,我的测试环境是在NGINX之后配置的,它为我的应用程序提供HTTP和HTTPS版本的服务,以便为我的每个项目使用一个证书,即我用https://访问的笔记本电脑前缀URL上的Chrome,它隐藏在navbar中,但在Chrome平板电脑或移动设备上并非如此,我以为我是在咨询HTTPS版本,但它是HTTP版本,而且在HTTP网站上无法访问Battery,因此需要使用HTTPS和证书进行安全连接。这与版本号无关,因为根据MDN文档,从Chrome 38开始就完全支持电池Web。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73571004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档