orientationEvent.gamma正在+180到-180度

时间:2016-08-03 19:38:00

标签: javascript ios html5 ipad mobile-safari

经过漫长的不眠之夜,我终于设法将一个体面的倾斜处理程序集成到我正在处理的插件中,可以检测浏览器是否可以处理倾斜,然后如果运行该浏览器的设备可以处理倾斜,则设备的potrait or landscape orientation .... blah blah。

一切都完成后,我开始在差异设备上进行测试。然而,当我在运行ios 9.3.2的ipad air上试用它时,出现了一个有趣的麻烦。以下是我用来测试方向的代码部分:

function handleOrientation(event)
{
    var alphaQ = event.alpha;
    var betaQ = event.beta;
    var gammaQ = event.gamma;
    var divnamehere = document.getElementById("somediv");
    divnamehere.innerHTML = "Alpha:" + alphaQ + "<br>Beta: " +
                            betaQ + "<br>Gamma: " + gammaQ;
}
window.addEventListener("deviceorientation", handleOrientation, false);

现在显示的Gamma值超过+ -90度,最高可达+ -180度。但Alpha的限制是从0到360度,对于beta,它是-180到180度,对于Gamma,它是-90到+90(不是180度)。

我能想到的唯一原因是ipad陀螺仪的工作方式不同。有人可以确认吗?谷歌叔叔让我失望。

1 个答案:

答案 0 :(得分:1)

这已得到确认。在iPad Air中,Gamma旋转为+180到-180而不是+90到-90。