Как проверить разрешение на движение / ориентацию в iOS .12.2 + на Javascript? - PullRequest
0 голосов
/ 23 января 2020

С iOS12.2 + Apple хочет, чтобы пользовательский жест активировал движение устройства или ориентацию устройства. Я нашел образцы в Inte rnet, например здесь . Я показываю всплывающее окно, в котором пользователь будет проинформирован и может принять или запретить доступ. Все это прекрасно работает с Javascript.

Я знаю, что Safari кэширует allowState (предоставленный или отклоненный), поэтому после предоставления или отказа в разрешении (пользователем) страницу можно перезагрузить, и до сих пор известно. Здесь возникает проблема: (как) я могу проверить, если разрешение уже предоставлено или отказано? Если он уже установлен, я не хочу снова отображать всплывающее окно (запрашивая разрешение) после перезагрузки страницы.

1 Ответ

0 голосов
/ 28 февраля 2020

хорошо, я думаю, что нашел решение, оно не красивое, но оно работает.

Сначала у меня есть функция, которая проверяет, если iOS 13+, если это так, я тогда запрашиваю разрешения, получается если пользователь уже предоставил доступ DeviceMotionEvent.requestPermission возвращает предоставленный , если он не предоставил доступ, произойдет сбой, и затем я вызову модальный режим. Чтобы потом снова запросить разрешения.

DeviceMotionEvent.requestPermission()
.then(response => {
    if (response) {
        console.log(response)
    }
})
.catch(function(error) {
    console.log("error");
    // Trigger modal to ask for permissions
    $('#askForPermission').modal('toggle')
});

надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...