如何在 javascript 中获取 iPhone 7 的设备旋转?

How to get device rotation for iPhone 7 in javascript?

我想获得 iPhone 7 及更高版本的设备旋转(alpha、beta、gamma)。对于 iPhone 6 这对我来说效果很好:

window.addEventListener('deviceorientation', function(event) {
  console.log(event.alpha);
  console.log(event.beta);
  console.log(event.gamma);
});

但对于 iPhone > 6,此事件不再触发。明确地说,我不想要设备方向 (portrait/landscape),我想要旋转。最好的情况是绝对(校准)数据。

对于Android,“deviceorientationabsolute”效果很好。 Apple 世界是否有类似的东西?

谢谢和问候, 安德烈亚斯

为了在所有设备中获得设备旋转更好地监听调整大小window:

window.addEventListener('resize', function(){
if(window.innerWidth <  window.innerHeight){
//portrait
}
if(window.innerWidth >  window.innerHeight){
//landscape
}
});

好的,对我来说,解决方案是获得用户许可来使用这样的方向。之后 'ondeviceorientation' 工作。

function startOrientation() {
  if (typeof DeviceMotionEvent.requestPermission === 'function') {
    DeviceOrientationEvent.requestPermission().then(function(response) {
      if (response == 'granted') {
        console.log('granted');
      }
    });
  } else {
    console.log('not granted');
  }
}

$("#get_permission").click(function(){
  startOrientation();
});