收藏
回答

ios 13以上苹果手机这个函数DeviceMotionEv无法自动调用,摇一摇没有反应?

安卓手机都是正常的,苹果手机没有反应,为什么,如何解决?

回答关注问题邀请回答
收藏

1 个回答

  • 崔丛丛
    崔丛丛
    2020-06-24
    安卓手机和苹果13以下的系统,DeviceMotionEv默认是授权,可以监听到摇一摇发生的变化,但是苹果13以后就不可以了,因为权限默认是关闭的,需要弹出授权框,用户授权后才可以使用该功能。
    <div class="sss">
                <div class="sss">
                   <h3>温馨提示</h3>
                   <div>由于IOS系统需要手动获取访问动作<br/>与方向的权限,为保证游戏正常允许<br/>请点击允许</div>
                   <div class="sureshoquan" onclick="permission()">同意授权</div>
                </div>
          </div>
    function permission () {
             if ( typeof( DeviceMotionEvent ) !== "undefined" && typeof( DeviceMotionEvent.requestPermission ) === "function" ) {
                DeviceMotionEvent.requestPermission()
                   .then( response => {
                   if ( response == "granted" ) {
                      window.addEventListener( "devicemotion", (e) => {})
                      setTimeout(function(){
                         $(".fixbox").hide();
                      },300)
                   }
                }).catch( console.error )
             } 
          }
    
    2020-06-24
    有用 1
    回复
登录 后发表内容
问题标签