美文网首页
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