兼容最新版浏览器的陀螺仪的心得

记录一下当前时间,当前时间为2020年1月16号。

当前版本的移动端浏览器的权限都更新了,首先说明一下安卓系统的浏览器:
如果你发现你的浏览器陀螺仪代码没有改什么,但是陀螺仪确不管用了,那肯定是你用的协议出了问题,在当前版本的浏览器中,需要使用https协议才可以开启陀螺仪,不安全的https已经不兼容了。

另外再说一下ios13,在经历了悲催的ios12需要手动去设置中设置允许浏览器使用陀螺仪,在ios13中,苹果又增加了骚操作,那就是通过js事件调用去获取是否允许当前网址使用陀螺仪,并且还需要https协议,下面具体苹果开启的代码:

        if (window.DeviceOrientationEvent && window.DeviceOrientationEvent.requestPermission) {
            DeviceOrientationEvent.requestPermission().then(r => {
            	//在这里调用陀螺仪事件
            });
        }

DeviceOrientationEvent这个对象貌似是苹果添加的,所以我们需要先判断是否存在当前对象。
DeviceOrientationEvent.requestPermission()返回一个promise对象,我们可以在then成功里面进行调用陀螺仪,

注意,第一次显示是否允许陀螺仪,允许以后,也不会触发then,需要页面重新刷新一次才可以使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章