Я разработал приложение, которое сохраняет пользовательское событие и местоположение при нажатии кнопки. Это приложение отлично работает в других браузерах, кроме Microsoft Edge. Если пользователь отклоняет запрос на геолокацию один раз и хочет разрешить его в следующий раз, то даже после очистки кеша, включения местоположения и управления разрешениями в настройках предупреждение «Пользователь отклонил запрос на геолокацию» продолжает появляться при каждом нажатии кнопки. Любые входные данные, подобный опыт и решение?
function button_click(){
showPosition();
}
function showPosition(){
if(navigator.geolocation){
navigator.geolocation.getCurrentPosition(successCallback,
errorCallback, options);
} else {
alert('Geolocation not supported by your browser');
document.cookie = "latitude=0.0";
document.cookie = "longitude=0.0";
document.getElementById("myForm").submit();
}
}
var options = {
enableHighAccuracy: true,
// timeout: 10000,
maximumAge: 0
};
function successCallback(position){
var latitude = position.coords.latitude.toFixed(5);
var longitude = position.coords.longitude.toFixed(5);
document.cookie = "latitude=" + latitude;
document.cookie = "longitude=" + longitude;
document.getElementById("myForm").submit();
}
function errorCallback(error){
switch (error.code){
case error.PERMISSION_DENIED:
alert("User denied request for Geolocation.");
break;
case error.POSITION_UNAVAILABLE:
alert("Location information is not available.");
break;
case error.TIMEOUT:
alert("The request to get user location timed out.");
break;
default:
alert("Unkown error.");
}
document.cookie = "latitude=0.0";
document.cookie = "longitude=0.0";
document.getElementById("myForm").submit();
}
Я не хочу, чтобы предупреждение «Пользователь отклонил запрос на геолокацию» появлялось каждый раз даже после того, как пользователь включил местоположение.