gpt4 book ai didi

javascript - iOS 上的事件 'onDeviceMotion' 有任何限制吗?

转载 作者:行者123 更新时间:2023-11-29 05:47:59 28 4
gpt4 key购买 nike

我在 iOS 上访问 onDeviceMotion 事件时遇到问题。它适用于 Android。

我正在遵循教程,代码在我的 iOS 设备上运行得非常好,但是当我复制/粘贴完全相同的代码并从我的 iOS 设备上的本地主机运行它时,不会触发 onDeviceMotion 事件。 相同的代码在我的 Android 设备上的 Chrome 和 Firefox 上运行得很好。因此,我认为这不是代码问题,而是 Apple 的限制。

我使用的是 iOS 12,并且在 Safari 上启用了运动传感器。

对于 iOS 上的运动事件,我应该注意什么限制吗?比如必要的https或者CORS?我的服务器是用 Node.JS 编写的。

下面是我正在讨论的代码。

window.addEventListener('devicemotion', onDeviceMotion, true);

function onDeviceMotion(event) {
let x = event.accelerationIncludingGravity.x;
let y = event.accelerationIncludingGravity.y;
let z = event.accelerationIncludingGravity.z;
}

谢谢!

最佳答案

问题是 Safari 将限制某些事件(尤其是运动事件)通过 HTTP 在不安全的网站上运行。您必须设置并启用 HTTPS,然后才会触发事件。

Node.JS

const privateKey = fs.readFileSync( 'keys/server.key' );
const certificate = fs.readFileSync( 'keys/server.crt' );
https.createServer({
key: privateKey,
cert: certificate
}, app).listen(8080);

关于javascript - iOS 上的事件 'onDeviceMotion' 有任何限制吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55960002/

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