Я хотел бы показать или скрыть 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. Я удалил весь свой код, кроме описанного выше, чтобы убедиться, что это не проблема, но я все еще не могу отслеживать события изменений и проверять геолокацию при загрузке страницы.