Хорошо, я обнаружил, что проблема действительно в Firefox и что он не работает надежно или одинаково на всех платформах.Глядя на http://dev.w3.org/geo/api/spec-source.html, я нашел следующую опцию для добавления:
window.onload = function() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
alert('it works');
}, function(error) {
alert('Error occurred. Error code: ' + error.code);
},{timeout:5000});
}else{
alert('no geolocation support');
}
};
Как вы можете видеть здесь, время ожидания: 5000 было добавлено, что означает, что если по какой-то причине браузеру требуется более 5000 мс(5 секунд), затем выдайте ошибку тайм-аута (это код ошибки 3).Так что теперь, когда Firefox не работает, он, по крайней мере, запускает обратный вызов ошибки, и я получаю предупреждение «Произошла ошибка. Код ошибки: 3».
Очевидно, что значение тайм-аута по умолчанию бесконечно, поэтому оно никогда не прекращается ... Chrome на 100% надежен, но Firefox на моей машине примерно на 10%, что очень разочаровывает.На моем другом компьютере, работающем под управлением Windows XP и находящимся в той же сети, Firefox кажется надежным на 100%.