Подтвердить что ты не робот

Сделать html5 geolocation запрашивать разрешение каждый раз, когда пользователь перезагружает страницу

Зачем нам это нужно:

У нас есть страница на нашем веб-сайте, которая позволяет пользователям вводить некоторые данные и искать других клиентов в своей области. Когда пользователь открыл эту страницу, всплывающее сообщение должно быть показано

http://foo.bar.com хотел бы использовать ваше текущее местоположение.

После этого пользователь может отменить это и заполнить поля местоположения вручную или принять и автоматически перенаправляться на страницу результатов.

Проблема:

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

код:

Мы используем базовый код геолокации html5

if (navigator.geolocation) {
   navigator.geolocation.getCurrentPosition(LocationMethod);
} 

Вывод:

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

4b9b3361

Ответ 1

когда пользователь нажимает кнопку deny/allow, чтобы браузер помнил это решение для сайта.

лучший способ избежать отказа - это только вызвать getCurrentPosition (...), когда пользователь щелкнул что-то, что означает, что он хочет использовать свое местоположение. и тогда он, вероятно, был бы рад поделиться им:)

Хорошим примером является сайт foursquare. при входе он предлагает вам перейти к карте в какой-то город, и только там, нажав кнопку на карте "использовать мое местоположение", она предложит ее.

Если вам отказано в местоположении, вы также можете отобразить информационное сообщение с сообщением "вы в прошлом отказали в службе определения местоположения для этого сайта, включите его bla bla bla". и заполнить bla bla bla любым.