美文网首页
DeviceMotion及DeviceOrientation手机

DeviceMotion及DeviceOrientation手机

作者: IamaStupid | 来源:发表于2022-04-26 16:31 被阅读0次

  1. 不管是安卓手机还是IOS都必须用https域名访问网页

代码:

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

但是IOS这样写不行,需要申请授权,不能直接监听事件。
下面的这段代码,不能直接调用,直接调用会报错:error: NotAllowedError: Requesting device orientation or motion access requires a user gesture to prompt.

function getPermission() {
  if (
    typeof window.DeviceMotionEvent !== 'undefined' &&
    typeof window.DeviceMotionEvent.requestPermission === 'function'
  ) {
    window.DeviceMotionEvent.requestPermission()
      .then(function(state) {
        if ('granted' === state) {
          //用户同意授权
          
        } else {
          //用户拒绝授权
          alert('摇一摇需要授权设备运动权限,请重启应用后,再次进行授权!')
        }
      })
      .catch(function(err) {
        alert('error: ' + err)
      })
  }
}

而且也不能在点击事件的其他逻辑代码里面,比如:有一个提交表单的按钮,点击表单提交,请求后台接口,接口请求成功了就执行getPermission(),这样写也没用,一样报上面的错误。

一定要直接的写在按钮的click事件里面:

<div class="btn1 van-button--default" @click="getPermission">进入</div>

H5检测手机摇一摇 - SegmentFault 思否

相关文章

网友评论

      本文标题:DeviceMotion及DeviceOrientation手机

      本文链接:https://www.haomeiwen.com/subject/qcmtyrtx.html