小编Daa*_*aan的帖子

FF 13,IE 9:JSON stringify/geolocation对象

我试图让Firefox 13将地理定位位置对象转换为JSON字符串,但它返回一个空字符串而不是我的JSON对象的正确字符串表示形式.这在最新版本的Chrome和Safari以及Android浏览器中运行良好.这是我的代码:

if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition( 
        function (position) {  
            //Success handler
            console.log(position); //This outputs the position object to the console
            var gps = JSON.stringify(position); 
            console.log(gps); //This outputs an empty string!
        }, 
        function (error)
        {   
            //Handle error
        },
        { maximumAge: 3000, timeout: 60000, enableHighAccuracy: true }
        );
}
else {
    //Handle error
}
Run Code Online (Sandbox Code Playgroud)

在Chrome中,这会输出一个地理位置对象,以及此字符串:

"{"coords":{"latitude":XYZ,"heading":null,"accuracy":40,"altitudeAccuracy":null,"altitude":null,"longitude":XYZ,"speed":null},"timestamp":1339712284200}"
Run Code Online (Sandbox Code Playgroud)

然而,在Firefox 13的输出仅仅是一个空字符串,即使该集团的印刷到控制台地理位置对象是所有意图和目的相同,由Chrome显示的对象.关于这里出了什么问题的任何想法?这似乎是一个相关的问题,但我也没有看到解决方案.顺便说一句,IE9显示相同的行为.

javascript firefox json geolocation internet-explorer-9

11
推荐指数
2
解决办法
3646
查看次数