GeoLocation.GetCurrentPosition всегда терпит неудачу в IE 11

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 работают нормально.

Ответ 1

У меня была такая же проблема только в IE11. Мне пришлось установить enableHighAccuracy в false, чтобы заставить его работать. Как только я это сделал, IE работал как ожидалось.

Ответ 3

В окне "Свойства обозревателя" перейдите на вкладку "Конфиденциальность". Снимите флажок Никогда разрешать веб-сайты запрашивать ваше физическое местоположение, нажмите ОК.

После внесения этих изменений, теперь http://html5demos.com/geo работал у меня. Первоначально этого не делал.