Событие пожара, когда в браузере включена или отключена геолокация - PullRequest
0 голосов
/ 05 февраля 2020

Я хотел бы показать или скрыть html, когда в браузере включена геолокация.

Я хотел бы сделать это на основе взаимодействия с пользователем, если они нажимают подтвердить, они получают html, если они отрицают, что нет.

Если страница загружается, и разрешение предоставлено, я также хотел бы показать html, а если нет, то не должен.

Я просмотрел следующее.

navigator.permissions.query({name:'geolocation'}).then(function(permissionStatus) {

    //console.log('geolocation permission state is ', permissionStatus.state);

    permissionStatus.onchange = function() {

        if (permissionStatus.state == 'granted ') {

            console.log('geolocation permission state has changed to ', this.state);

        }

    };

});

И чтобы проверить загрузку страницы.

navigator.permissions && navigator.permissions.query({name: 'geolocation'}).then(function(PermissionStatus) {

    if( PermissionStatus.state == 'granted' ) {

        console.log('hello');

    }

});

Пока ничего из этого не ведется.

Мой код выше обернут в (function( $ ) { })( jQuery );, так как здесь я тоже использую jQuery. Я удалил весь свой код, кроме описанного выше, чтобы убедиться, что это не проблема, но я все еще не могу отслеживать события изменений и проверять геолокацию при загрузке страницы.

1 Ответ

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

Раздел onchange не работал, так как я не принимал фактическое событие для своего оператора if.

if ( permissionStatus.state == 'granted' ) {

Должно было быть

if ( this.state == 'granted ' ) {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...