在 Android 台设备上使用 Chrome 时出现 Modernizr 错误
Modernizr error when using Chrome on Android devices
我遇到了一个问题,我刚刚注意到这个问题,但在我之前发布的代码中从未见过。在 js 中我调用
navigator.geolocation.getCurrentPosition()...
我还对回调的成功和错误部分进行了编码。我遇到的问题是,在使用 Chrome 的 Android 设备上,我总是收到错误 "[object PositionError]"
如果我在同一台设备上使用 Firefox 就没问题。我测试过的所有 iOS 设备也可以工作。
有其他人 运行 解决过这个问题吗?如果有,您找到解决方案了吗?
这是我的完整代码块:
if (Modernizr.geolocation) {
navigator.geolocation.getCurrentPosition(
function (position) {
var lat = position.coords.latitude;
var lng = position.coords.longitude;
callback(lat, lng);
}
, function (err) {
// 1 = PERMISSION_DENIED
// 2 = POSITION UNAVAILABLE
// 3 = TIMEOUT
//if (err.code == err.PERMISSION_DENIED) {
alert(err);
alert('Current location could not be obtained from the device.\r\nCheck your GPS settings.');
//}
}
, { timeout: 10000 }//10 secs.
);
} else {
alert('This device does not support GPS locations.');
}
As of Chrome 50,您无法再从非 https 网页访问地理定位 API。
不过,由于 Lets Encrypt 等项目,您现在可以免费获得 SSL 证书。
我遇到了一个问题,我刚刚注意到这个问题,但在我之前发布的代码中从未见过。在 js 中我调用
navigator.geolocation.getCurrentPosition()...
我还对回调的成功和错误部分进行了编码。我遇到的问题是,在使用 Chrome 的 Android 设备上,我总是收到错误 "[object PositionError]"
如果我在同一台设备上使用 Firefox 就没问题。我测试过的所有 iOS 设备也可以工作。
有其他人 运行 解决过这个问题吗?如果有,您找到解决方案了吗?
这是我的完整代码块:
if (Modernizr.geolocation) {
navigator.geolocation.getCurrentPosition(
function (position) {
var lat = position.coords.latitude;
var lng = position.coords.longitude;
callback(lat, lng);
}
, function (err) {
// 1 = PERMISSION_DENIED
// 2 = POSITION UNAVAILABLE
// 3 = TIMEOUT
//if (err.code == err.PERMISSION_DENIED) {
alert(err);
alert('Current location could not be obtained from the device.\r\nCheck your GPS settings.');
//}
}
, { timeout: 10000 }//10 secs.
);
} else {
alert('This device does not support GPS locations.');
}
As of Chrome 50,您无法再从非 https 网页访问地理定位 API。
不过,由于 Lets Encrypt 等项目,您现在可以免费获得 SSL 证书。