经过漫长的不眠之夜,我终于设法将一个体面的倾斜处理程序集成到我正在处理的插件中,可以检测浏览器是否可以处理倾斜,然后如果运行该浏览器的设备可以处理倾斜,则设备的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陀螺仪的工作方式不同。有人可以确认吗?谷歌叔叔让我失望。
答案 0 :(得分:1)
这已得到确认。在iPad Air中,Gamma旋转为+180到-180而不是+90到-90。