Сделать html5 geolocation запрашивать разрешение каждый раз, когда пользователь перезагружает страницу
Зачем нам это нужно:
У нас есть страница на нашем веб-сайте, которая позволяет пользователям вводить некоторые данные и искать других клиентов в своей области. Когда пользователь открыл эту страницу, всплывающее сообщение должно быть показано
http://foo.bar.com хотел бы использовать ваше текущее местоположение.
После этого пользователь может отменить это и заполнить поля местоположения вручную или принять и автоматически перенаправляться на страницу результатов.
Проблема:
Проблема заключается в том, что когда пользователь выбирает любой из указанных параметров в первый раз, браузер запоминает его и не спрашивает его в следующий раз. Поэтому, когда пользователь принимает его, каждый раз, когда он открывает страницу поиска, он автоматически перенаправляет его на страницу результатов, ничего не спрашивая.
код:
Мы используем базовый код геолокации html5
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(LocationMethod);
}
Вывод:
Я уверен, что невозможно изменить разрешение, которое является родным браузером. Но я надеюсь, что кто-то даст хорошее решение этой проблемы. Спасибо.
Ответы
Ответ 1
когда пользователь нажимает кнопку deny/allow, чтобы браузер помнил это решение для сайта.
лучший способ избежать отказа - это только вызвать getCurrentPosition (...), когда пользователь щелкнул что-то, что означает, что он хочет использовать свое местоположение. и тогда он, вероятно, был бы рад поделиться им:)
Хорошим примером является сайт foursquare. при входе он предлагает вам перейти к карте в какой-то город, и только там, нажав кнопку на карте "использовать мое местоположение", она предложит ее.
Если вам отказано в местоположении, вы также можете отобразить информационное сообщение с сообщением "вы в прошлом отказали в службе определения местоположения для этого сайта, включите его bla bla bla". и заполнить bla bla bla любым.