JS 手机端摇一摇 苹果IOS13.3高版本处理

苹果IOS13.3高版本需要 动作与方向授权以后才能进行摇一摇,授权过程必须有点击才能授权。在进入需要摇一摇的页面的时候可以进行授权,在进行提示点击我用的是手机端swal插件进行提示点击授权。
拒绝授权的可清除微信缓存可再次触发授权。
function permission(){
var ua = navigator.userAgent.toLowerCase();
if(ua.indexOf(“like mac os x”) > 0){
var reg = /os [\d.]*/gi ;
var verinfo = ua.match(reg) ;
var version = (verinfo+"").replace(/[^0-9|
.]/ig,"").replace(/_/ig,".");
var arr=version.split(".");
$(".aa").text(arr[0]+"."+arr[1]+"."+arr[2])
if (arr[0]>12&&arr[1]>2) { //对13.3以后的版本处理,包括13.3,

	                DeviceMotionEvent.requestPermission()
	                .then(permissionState => {
	                    if (permissionState === 'granted') { 
	                       console.log('已授权')
	                    }
	                })
	                
	                .catch((err)=>{
	    	           
	                   swal({
	                        title: "温馨提示",
	                        text: "由于IOS系统需要手动获取访问动作与方向的权限,请在访问提示中点击允许!",
	                        type: "warning",
	                        showCancelButton: false,
	                        confirmButtonColor: "#DD6B55",
	                        confirmButtonText: "确定",
	                        closeOnConfirm: true },
	                        function(){
	                           ios13granted();
	                        }
	                    );
	              
	                });
	                
	            }else{  //13.3以前的版本
	                console.log('不用授权')       
	            }
	        }else{
               console.log('安卓不用授权')  
	        }
	    }
	    function ios13granted() {
	        if (typeof DeviceMotionEvent.requestPermission === 'function') {
	            DeviceMotionEvent.requestPermission().then((permissionState) => {
	                if (permissionState === 'granted') {
	                   alert('授权成功')
	                }
	            }).catch((error) => {
	                console.log('拒绝授权')
	            })
	        } else {
	              // 处理常规的非iOS 13+设备
	            console.log("处理常规的非iOS 13+设备")
	        }
	    }
	  permission()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值