javascript 是否可以通过web浏览器API访问移动的设备的电池状态或充电?

woobm2wo  于 2023-03-21  发布在  Java
关注(0)|答案(5)|浏览(116)

我花了一些时间四处寻找,看看是否有可能通过web浏览器API访问移动的设备的电池状态或充电,但还没有找到任何资源或真正的任何东西,甚至讨论这个主题。这让我相信这是不可能的,因为它不是在规范的任何原因(安全?)。
无论哪种方式,我发现它是可能的,以获得电池状态/充电百分比与iOS,Cordova,Phonegap,Appcelerator等。所有这些都有一个API,我可能能够得到的工作可能为我正在寻找的发展工作。然而,所有这些解决方案仍然需要应用程序作为本机应用程序运行-我希望能够在设备上的浏览器中运行它。
这是可能的吗?如果是这样,我应该研究什么浏览器API?

vu8f3i0k

vu8f3i0k1#

谢谢塔帕尼和迈克尔
你的帮助无疑为我指明了正确的方向。有了你提供的信息,我能够找到更多关于规范和浏览器支持API的信息。

  • Chrome 42.0.2311.90(64位)似乎不支持电池API。
  • Chromium版本22.0.1225.0(149762)也不支持电池API。
  • Chrome Canary版本44.0.2387.0 canary(64位)支持MDN(https://developer.mozilla.org/en-US/docs/Web/API/Battery_Status_API)上的规范,但不支持navigator.battery命名空间。
  • Firefox支持navigator.battery命名空间,但不支持navigator.getBattery()函数。
  • Safari版本8.0.5(10600.5.17)不支持任何涉及电池API的内容。

我没有在移动的上检查这一点,但我不怀疑移动浏览器会更一致的API,甚至比上面的任何浏览器都更好地实现它。看起来相当新,浏览器组织仍在试图弄清楚,并努力遵循文档规范。让我想起了一点CSS flex-box。
谢谢你们!

6l7fqoea

6l7fqoea2#

iOS浏览器不支持电池状态API。桌面Chrome基本上是唯一支持它的浏览器:
http://caniuse.com/#feat=battery-status

kknvjkwl

kknvjkwl3#

似乎是可能的。来源:http://www.sitepoint.com/html5-battery-status-api/

var battery = navigator.battery || navigator.webkitBattery || navigator.mozBattery || navigator.msBattery;

if (battery) {
    alert(battery.level);
}
o0lyfsai

o0lyfsai4#

我已经为你创建了一个演示,所以你可以检查你的浏览器是否支持电池API。
演示:https://elgervanboxtel.nl/blog/#/post/battery-api
正如你在www.example.com上看到caniuse.com,它还没有得到广泛的支持。

w8rqjzmb

w8rqjzmb5#

2019年发布的Safari版本13不支持电池状态API enter image description here
updating on 21.01.2023

相关问题