0

我想在我的网页上为 Android 和 iOS 平台实现移动设备“摇晃”事件。

因此,我立即找到了由 Alex Gibson 编写的唯一一个脚本。

经过一些测试,我发现它可以完美地在 Android 手机上运行。不幸的是,在 iPhone 上它不起作用。

根据MDN web docs,使用devicemotion事件的脚本没有问题。

此脚本在codeopen上没有 iOS 错误,只是无法正常工作。

有什么方法可以克服这个问题吗?

UPD

我发现这篇文章描述了 iOS 13 对devicemotion事件的要求,所以现在你必须请求它的权限。

但它也不起作用。

window.DeviceMotionEvent.requestPermission()
  .then(response => {
    console.log(response);
  }
})

无论如何,它都会在没有任何许可请求的情况下返回“拒绝”状态。

4

1 回答 1

2

我也遇到了这个问题。iOS 13+ 始终(静默)拒绝 devicemotion 事件的 requestPermission,但前提是您在 http 上运行您的网站。

如果我在 https 上运行我的网站,它会起作用(至少对我而言)。

于 2020-04-29T15:35:05.070 回答