html навигатор "Пользователь запрещен геолокации"

У меня проблема с window.navigator, я получаю код ошибки 1 "Географическое положение пользователя отклонено" всякий раз, когда я запускаю следующий код в качестве локального HTML-файла:

navigator.geolocation.getCurrentPosition(function(position) {
        console.log(position);
    }, function(positionError) {
        console.log(positionError);
    });

Выходные данные поступают из функции ошибки, а positionError содержит:

code: 1
message: "User denied Geolocation"

Этого не происходит, если содержащий html подается с какого-либо сервера.

Это ожидается? Есть ли способ использовать навигатор из локального HTML? Я пытаюсь написать какое-нибудь мобильное приложение, но также стараюсь по возможности избегать сети.

Благодарю.

2 ответа

Решение

Если вы используете Chrome, посмотрите ответ ниже:

HTML 5 Geo Location Prompt в Chrome

Похоже, это ограничение безопасности для file протокол. Похоже, вам нужно будет разместить его локально с сервера.

Просто нажмите на левую сторону URL на маленьком символе "i":- (см. Изображение ниже)

Затем проверьте, является ли местоположение "блоком". Измените его на "разрешить", а затем перезагрузите страницу.

Надеюсь это поможет.

Простой ответ, который работал для меня, состоял в том, чтобы просто изменить мой URL

localhost

в

127.0.0.1

Chrome попросил меня подтвердить, что я хочу поделиться настройками своего местоположения, и меня не стало!

Другие вопросы по тегам