У меня есть веб-сайт, который производит впечатление VR, используя 360 фотографий.
Недавно Apple обновила iOS до 12.2 и по умолчанию отключила доступ safari к датчикам «движения и ориентации».
Поэтому мне нужно добавить раздел javascript, который будет определять наличие гироскопа и акселерометра и предлагать пользователю разрешить доступ (если имеется).
Я нашел два более ранних предложения по коду для стекового потока, которые предназначены для определения поддержки этих датчиков, но при тестировании на моем iPhone 6s с iOS 12.2 оба решения сообщают, что гироскопа нет, что не так. И да, доступ к движению и ориентация включены.
Вот пример из предыдущего решения .....
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 есть гироскоп, я не ожидал увидеть это сообщение, но оно есть.