移动端iOS全景图更新到13版后,AR场景陀螺仪故障解决方案如下:
- 需要HTTPS协议
- 隐私设置开启运动传感器
- 监控事件代码调整,iOS13以后会新增window.DeviceOrientationEvent的API,orientationchange该事件用于处理水平和垂直屏幕转换,无用且可忽略。需要特别注意的是,其触发条件与音频和视频自动播放的安全协议相同,需要主动触发用户交互事件,如点击事件后。监控添加代码如下:
// iOS 13 if ( window.DeviceOrientationEvent !== undefined && typeof window.DeviceOrientationEvent.requestPermission === 'function' ) {
window.DeviceOrientationEvent.requestPermission().then( function ( response ) {
if ( response == 'granted' ) {
window.addEventListener( 'orientationchange', onScreenOrientationChangeEvent, false ); window.addEventListener( 'deviceorientation', onDeviceOrientationChangeEvent, false ); } } ).catch( function ( error ) {
console.error( 'Unable to use DeviceOrientation API:', error ); } ); } else {
window.addEventListener( 'orientationchange', onScreenOrientationChangeEvent, false ); window.addEventListener( 'deviceorientation', onDeviceOrientationChangeEvent, false ); }