地理位置无法在Firefox中运行

时间:2012-05-01 16:06:34

标签: javascript html5 geolocation

我尝试使用谷歌地理编码作为回退向网站添加地理位置功能,到目前为止它可以正常使用Chrome。 当我在firefox中试用它时它不会只显示位置提示 继承我的代码

function add_location() {
        if (navigator.geolocation)  
        {  
            $("#pheed-location").fadeIn();
            $('.loading-indicator').fadeIn();
            navigator.geolocation.getCurrentPosition(handle_geolocation_query, handle_location_errors);  
        }  
    }
    function parseLocationError(error)
    {
        switch(error.code)  
        { 
            case error.PERMISSION_DENIED:
            errorMsg = "User did not share geolocation data";  
            code = 1;
            break;  

            case error.POSITION_UNAVAILABLE: 
            errorMsg = "Could not detect your current position";
            code = 2;
            break;  

            case error.TIMEOUT:
            errorMsg = "Retrieving position timedout";  
            code = 2;
            break;  

            default:
            errorMsg = "Unknown error";  
            code = 0;
            break;  
        }
        var _error = {"msg":errorMsg,"code":code};
        return _error;
    }
    /**
    * Handles error from geolocation
    * @param error object
    **/
    function handle_location_errors(error) {
        var msgDisplay = $('.loading-indicator');
        //Error message
        var errorMsg ="";
        console.log(error);
        //Set error message base on error code
        var Error = parseLocationError(error);
        if((Error.code === 1) || (Error.code === 2)) {
        msgDisplay.html('').fadeOut();
        msgDisplay.html(Error.msg).fadeIn();
            if(Error.code === 2)
            $("#location-entry").fadeIn();
        }
    }

我添加“console.log(错误)”以确保返回错误。错误在chrome中正确记录,但似乎在firefox中根本不起作用。 可能是什么问题?

2 个答案:

答案 0 :(得分:0)

过去几天我一直在玩地理定位API,发现Firefox 17/18,Chrome 24.0,Safari 5.1和IE 9.0之间存在间歇性问题。昨天它在Firefox中完美运行但后来开始失败。它会提示授权共享我的位置,但之后什么也没有。没有进一步的代码执行...它刚刚死了。我试过IE9,它告诉我不支持GPS。我在Safari中尝试过,它也失败了。 Chrome是唯一似乎仍在使用的浏览器。

我尝试重新启动笔记本电脑。我关闭了笔记本电脑上的无线网络(Dell XPS 1330)。我尝试检查每个浏览器的设置,但我无法确定问题......直到......

解决方案:我重新启动了我的宽带调制解调器。我正在运行DGND3700(600Mbps双频ADSL2 +宽带调制解调器/千兆路由器)。我执行了一个远程“重启路由器”,瞧!现在一切都恢复了。我注意到重启之前的连接速度是3500kbps(3.5Mbps),但重新启动后它重新恢复到接近16000kbps(16Mbps!)。

如果您遇到地理定位问题 - 重新启动无线路由器(如果可以的话)!希望这会有所帮助。

答案 1 :(得分:0)

很可能这是网站故障 - 无法使用地理定位检测所需的HTTPS协议(https://www.thesslstore.com/blog/firefox-55-https-for-geolocation/)打开它。