gpt4 book ai didi

javascript - 2019 年及之后如何在移动浏览器 Web 应用程序中访问运动传感器(加速计、陀螺仪)?为什么它不再起作用?

转载 作者:行者123 更新时间:2023-11-28 23:28:36 27 4
gpt4 key购买 nike

我有一些代码旨在测量移动设备上的设备运动,它曾经可以在移动浏览器中运行,但现在不再可以了。以下是直接取自 Mozilla 网络文档的示例:

function handleMotionEvent(event) {

var x = event.accelerationIncludingGravity.x;
var y = event.accelerationIncludingGravity.y;
var z = event.accelerationIncludingGravity.z;

// Do something awesome.
}

window.addEventListener("devicemotion", handleMotionEvent, true);

据我所知,这样的代码不再适用于移动浏览器(大约 2019 年 8 月)。

为什么?需要做什么?

在尝试调试我自己的代码后,我发现网络上的许多示例/演示/测试器也不再有效,例如:

http://www.gianpa.com/shake/

http://www.albertosarullo.com/demos/accelerometer/

这似乎与现代浏览器/权限/等的一些变化有关,可能与最近披露的与加速度计访问相关的安全问题有关,以及苹果和谷歌因此采取的措施,例如:

https://www.macrumors.com/2019/02/04/ios-12-2-safari-motion-orientation-access-toggle/

我发现,最近运行最新 Chrome 的 Android 手机和运行 Safari 的相对较新的 iOS 手机似乎都不再允许 webapp 访问运动传感器。但是,当我在较旧的 Android 设备上加载相同的演示代码(例如,来自上述演示网站)时...它像以前一样工作正常。

需要做什么才能访问网络应用程序中的运动数据?

谢谢

最佳答案

显然,现在需要使用 https://服务和访问网站/网络应用程序,以便它能够使用运动传感器。我访问了上面相同的 URL,它没有使用 http://提供任何传感器数据,但它确实可以使用 https://

关于javascript - 2019 年及之后如何在移动浏览器 Web 应用程序中访问运动传感器(加速计、陀螺仪)?为什么它不再起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57663033/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com