在Safari iOS中使用Accelerometer

问题描述 投票:2回答:2

我刚开始玩它,我想知道是否有办法在页面中移动一个元素,比如一个基于1:1手势的box / div:

让我更好地解释一下:我在网上看到的例子,他们用惯性等行动......

当我向上倾斜iphone时,我只想将一个盒子移到页面顶部,反之亦然..直接运动,不需要惯性

那里有什么样的演示接近我在说什么?

javascript ios webkit accelerometer
2个回答
3
投票

据我所知,Safari可以通过以下方式检测陀螺仪/加速度计事件:

window.ondevicemotion = function(event) {
// event.accelerationIncludingGravity.x
// event.accelerationIncludingGravity.y
// event.accelerationIncludingGravity.z
}

我知道有一些弹跳球的演示,但我找不到它。但是,您可以访问Apple网站上的文档,为Safari浏览器开发此文档以获取更多信息。看到这些链接:

https://developer.apple.com/library/safari/#documentation/SafariDOMAdditions/Reference/DeviceMotionEventClassRef/DeviceMotionEvent/DeviceMotionEvent.html

https://developer.apple.com/library/safari/#documentation/SafariDOMAdditions/Reference/DeviceOrientationEventClassRef/DeviceOrientationEvent/DeviceOrientationEvent.html

更新:我知道我在某个地方看过它......这是演示,适用于iPhone,Android和Mac(带有accelorometer):http://mrdoob.com/projects/chromeexperiments/ball_pool/


2
投票

由于隐私问题,从iOS 12.2开始,Apple限制Safari访问加速度计。 “设置”>“Safari”>“运动和方向访问”中有一个新开关,默认为“关闭”。

有人要求通过询问用户的许可来关闭该功能,但它看起来不像现在这样。

此举将打破Safari的大多数AR和VR体验,大多数人都不知道它为什么会破坏。

进一步阅读:

到目前为止我找到的最佳解决方法:https://github.com/w3c/deviceorientation/issues/57#issuecomment-481039307

© www.soinside.com 2019 - 2024. All rights reserved.