我有一个网站可以使用360张照片提供VR体验。
最近,苹果将iOS更新到12.2,默认情况下关闭了Safari对“运动和方向”传感器的访问。
因此,我需要添加一段JavaScript,以检测陀螺仪和加速度计是否可用,并提示用户启用访问权限(如果可用)。
我在stackoverflow上发现了两个较早的代码建议,旨在检测对这些传感器的支持,但是当在装有iOS 12.2的iPhone 6s上进行测试时,两个解决方案都报告说不存在陀螺仪,事实并非如此。是的,可以访问运动和方向了。
这是先前解决方案中的一个示例.....
var canHandleOrientation;
if (window.DeviceOrientationEvent) {
window.addEventListener("deviceorientation", handleOrientation, false);
}
function handleOrientation(event){
console.log("Orientation:" + event.alpha + ", " + event.beta + ", " + event.gamma);
canHandleOrientation = event; // will be either null or with event data
}
if (!canHandleOrientation) {alert("There is no gyroscope")
在此测试脚本中,如果没有来自陀螺仪的数据,则将出现警报“没有陀螺仪”。由于iPhone 6s具有陀螺仪,所以我不希望看到此消息,但确实如此。