script ниже отлично работает в FireFox и Chrome, но в Internet Explorer 11 он всегда терпит неудачу (с POSITION_UNAVAILABLE).
Я установил браузер для разрешения запросов на позицию, и я согласен с приглашением, которое браузер представляет мне при запросе разрешения.
Я почти уверен, что это работало отлично несколько месяцев назад, когда я в последний раз экспериментировал с ним. Что мне не хватает в настройках IE?
<script type="text/javascript">
$(document).ready(function () {
if (Modernizr.geolocation)
{
navigator.geolocation.getCurrentPosition(positionSuccess, positionError, { enableHighAccuracy: true, maximumAge: 60000, timeout: 10000 })
}
else
{
$("#GeoError").html("Unable to retrieve current position.")
}
});
function positionSuccess(position)
{
$("#Latitude").val(position.coords.latitude);
$("#Longitude").val(position.coords.longitude);
}
function positionError(error)
{
var message = "";
// Check for known errors
switch (error.code) {
case error.PERMISSION_DENIED:
message = "This website does not have your permission to use the Geolocation API";
break;
case error.POSITION_UNAVAILABLE:
message = "Your current position could not be determined.";
break;
case error.PERMISSION_DENIED_TIMEOUT:
message = "Your current position could not be determined within the specified timeout period.";
break;
}
// If it an unknown error, build a message that includes
// information that helps identify the situation, so that
// the error handler can be updated.
if (message == "") {
var strErrorCode = error.code.toString();
message = "Your position could not be determined due to " +
"an unknown error (Code: " + strErrorCode + ").";
}
$("#GeoError").html(message)
}
</script>
Кроме того, я получаю тот же сбой в IE11, когда я пытаюсь http://html5demos.com/geo, где оба FireFox и Chrome работают нормально.