2014-12-08 4 views
0

Я только что начал обнаруживать, что navigator.geolocation.getCurrentPosition не работает с Firefox, когда я отказываюсь раскрывать свое местоположение. То есть он не возвращается с ошибкой, как это было раньше. Он отлично работает на Safari и Chrome, но не Firefox 33.1navigator.geolocation.getCurrentPosition не работает с Firefox

Я вижу эту проблему при запуске w3schools пример кода (http://www.w3schools.com/html/tryit.asp?filename=tryhtml5_geolocation_error), который выглядит следующим образом:

<!DOCTYPE html> 
 
<html> 
 
<body> 
 

 
<p>Click the button to get your coordinates.</p> 
 

 
<button onclick="getLocation()">Try It</button> 
 

 
<p id="demo"></p> 
 

 
<script> 
 
var x = document.getElementById("demo"); 
 

 
function getLocation() { 
 
    if (navigator.geolocation) { 
 
     navigator.geolocation.getCurrentPosition(showPosition, showError); 
 
    } else { 
 
     x.innerHTML = "Geolocation is not supported by this browser."; 
 
    } 
 
} 
 

 
function showPosition(position) { 
 
    x.innerHTML = "Latitude: " + position.coords.latitude + 
 
    "<br>Longitude: " + position.coords.longitude; \t 
 
} 
 

 
function showError(error) { 
 
    switch(error.code) { 
 
     case error.PERMISSION_DENIED: 
 
      x.innerHTML = "User denied the request for Geolocation." 
 
      break; 
 
     case error.POSITION_UNAVAILABLE: 
 
      x.innerHTML = "Location information is unavailable." 
 
      break; 
 
     case error.TIMEOUT: 
 
      x.innerHTML = "The request to get user location timed out." 
 
      break; 
 
     case error.UNKNOWN_ERROR: 
 
      x.innerHTML = "An unknown error occurred." 
 
      break; 
 
    } 
 
} 
 
</script> 
 

 
</body> 
 
</html>

Это работает Firefox, если я разрешу доступ к моей позиции. Если я откажу в доступе, вызовут функции showPosition или showError. Ничего не произошло. Я пробовал это с Mac и PC Firefox и получал ту же проблему. Хорошо работает с Safari и Chrome.

+0

работает над FF 30.0, загружает последние – pherris

+0

также работает над FF 34.0 - может быть, проблема с 33.1? Какую ошибку вы видите? Объект, переданный showError, - 'PositionError {code: 1, message:« Пользователь отклонил запрос геолокации »}' для меня. – pherris

+0

Я вообще не вижу ошибки, как будто функция не возвращает –

ответ

Смежные вопросы