我试图让 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
}
在 Chrome 中,这会输出一个地理位置对象,以及这个字符串:
"{"coords":{"latitude":XYZ,"heading":null,"accuracy":40,"altitudeAccuracy":null,"altitude":null,"longitude":XYZ,"speed":null},"timestamp":1339712284200}"
但是,在 Firefox 13 中,输出只是一个空字符串,即使打印到控制台的地理位置对象的所有意图和目的都与 Chrome 显示的对象相同。关于这里出了什么问题的任何想法?这似乎是一个相关的问题,但我也没有看到解决方案。顺便说一句,IE9 显示相同的行为。