navigator.geolocation.getCurrentPosition在Firefox 30.0中不起作用

时间:2014-06-23 05:43:35

标签: firefox navigator

我使用的是Firefox 30.0(最新的FF),navigator.geolocation.getCurrentPosition正在使用Chrome,但不适用于此版本的FF。

这是我的代码

    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');
}

我收到此错误

Error: Unknown error acquiring position

注意:仅当我将FF升级到30.0

时,它才会停止工作

2 个答案:

答案 0 :(得分:24)

现在我使用的是47 Mozilla。我已经尝试了一切,但这一切都是这个问题。 但是然后我在地址栏中打开 about:config ,转到 geo.wifi.uri 并将其值更改为" {{ 3}}&#34 ;. 作品!

答案 1 :(得分:2)

我有一个可能的解决方案:

我认为mozilla家伙在位置请求过程中有所改变,所以现在需要更多时间并且函数getCurrentPosition会超时。

这将回答为什么它在chrome中工作的问题,在FF 29中工作而不在FF 30.0中工作。

但那是一个沉淀。现在让我们回到现实世界:

我已经拨打了10秒的超时时间,现在可以正常工作了。我已经这样做了:

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

这为我修好了。它适用于FF 30。