2014-06-23 18 views
7

Tôi đang sử dụng Firefox 30.0 (mới nhất FF), navigator.geolocation.getCurrentPosition đang hoạt động trong Chrome nhưng không hoạt động trong phiên bản FF này.navigator.geolocation.getCurrentPosition không hoạt động trong Firefox 30.0

Đây là mã của tôi

if (navigator.geolocation) { 
     navigator.geolocation.getCurrentPosition(GEOprocess, GEOdeclined); 
    }else{ 
     alert('Your browser sucks. Upgrade it.'); 
    } 
function GEOdeclined(error) { 
alert('Error: ' +error.message); 
} 
function GEOprocess(position) { 
alert('it works'); 
} 

Tôi nhận được lỗi này

Error: Unknown error acquiring position 

Lưu ý: Nó ngừng chỉ làm việc khi tôi nâng cấp FF của tôi để 30.0

+0

Cùng một vấn đề ở đây – inigoD

Trả lời

2

tôi đã là một giải pháp khả thi :

Tôi nghĩ rằng các chàng trai mozilla đã thay đổi điều gì đó trong vị trí mua lại quá trình, vì vậy bây giờ phải mất nhiều thời gian hơn và hàm getCurrentPosition bị hết thời gian chờ.

Điều này sẽ trả lời câu hỏi tại sao nó hoạt động trong chrome, hoạt động trong FF 29 và không có trong FF 30.0.

Nhưng đó là sự ủng hộ. Bây giờ, hãy quay lại thế giới thực:

Tôi đã hết thời gian chờ 10 giây cho cuộc gọi và giờ nó hoạt động. Tôi đã thực hiện theo cách này:

navigator.geolocation.getCurrentPosition(onSuccess, onError, {timeout:10000}); 

Điều này đã khắc phục sự cố cho tôi. Nó hoạt động trên FF 30.

19

Bây giờ tôi đang sử dụng 47 Mozilla. Tôi đã thử tất cả mọi thứ, nhưng tất cả thời gian vấn đề này. NHƯNG sau đó tôi mở about: config vào thanh địa chỉ của tôi, đi geo.wifi.uri và thay đổi giá trị cho "https://location.services.mozilla.com/v1/geolocate?key=test" của nó. hoạt động!

+1

Điều này cũng phù hợp với tôi. – Andy

+5

Thay đổi uri làm việc cho tôi quá, có vẻ như google đang chặn một cái gì đó. – Shikiryu

Các vấn đề liên quan