地理位置当前位置 API 在 IE11.5 windows10 中不起作用
Geolocation Current Position API not working in IE11.5 windows10
Geolocation 当前位置API 在IE11 windows 10 机器中不一致。
下面是代码
function setCurrentPos(event, firstLoad) {
navigator.geolocation.getCurrentPosition(function (position) {
firstLoad || setCurrentLocation(event.target, position.coords);
}, function (error) {
1 === error.code && ($this.currentLocDenied = !0);
});
}
5 次中有 4 次落入错误块,响应代码为 2(POSITION_UNAVAILABLE),说明 "The current position could not be determined."。
出现允许用户访问位置的浏览器提示设置为允许,因此不应该是原因。
版本信息
还有其他建议吗??
直到今天 (4.4.2017) "navigator.geolocation.getCurrentPosition" 在 win10 insider preview 15063.11 + IE11,Edge,FF 下完美运行。
但是今天只发生超时错误。
所以网络中正在发生大事
*更新:2017 年 4 月 5 日一切正常
固定
1 – 我在下面描述的更改应该仅为 IE 添加。因此,如果我们需要添加解决方法,请检查浏览器是否为 IE。不要更改其他浏览器。
2 – 将 enableHighAccuracy 的精度更改为 false。我知道默认情况下这是错误的,但以防万一。
3 – 在缓存时间的 maximumAge 上添加一些合理的值。 (仅适用于 IE)
var locationOptions = {};
if(deviceInfo.raw.browser.isIE && parseInt(deviceInfo.browser_version) == 11 && deviceInfo.os.isWindows10) {
locationOptions = {
enableHighAccuracy: false,
maximumAge: 50000
}
}
function setCurrentPos(event, firstLoad) {
navigator.geolocation.getCurrentPosition(function (position) {
//success callback
}, function (error) {
//error callback
}, locationOptions);
}
参考 - https://msdn.microsoft.com/en-us/library/gg593067(v=vs.85).aspx
Geolocation 当前位置API 在IE11 windows 10 机器中不一致。 下面是代码
function setCurrentPos(event, firstLoad) {
navigator.geolocation.getCurrentPosition(function (position) {
firstLoad || setCurrentLocation(event.target, position.coords);
}, function (error) {
1 === error.code && ($this.currentLocDenied = !0);
});
}
5 次中有 4 次落入错误块,响应代码为 2(POSITION_UNAVAILABLE),说明 "The current position could not be determined."。
出现允许用户访问位置的浏览器提示设置为允许,因此不应该是原因。
版本信息
直到今天 (4.4.2017) "navigator.geolocation.getCurrentPosition" 在 win10 insider preview 15063.11 + IE11,Edge,FF 下完美运行。 但是今天只发生超时错误。 所以网络中正在发生大事
*更新:2017 年 4 月 5 日一切正常
固定
1 – 我在下面描述的更改应该仅为 IE 添加。因此,如果我们需要添加解决方法,请检查浏览器是否为 IE。不要更改其他浏览器。
2 – 将 enableHighAccuracy 的精度更改为 false。我知道默认情况下这是错误的,但以防万一。
3 – 在缓存时间的 maximumAge 上添加一些合理的值。 (仅适用于 IE)
var locationOptions = {};
if(deviceInfo.raw.browser.isIE && parseInt(deviceInfo.browser_version) == 11 && deviceInfo.os.isWindows10) {
locationOptions = {
enableHighAccuracy: false,
maximumAge: 50000
}
}
function setCurrentPos(event, firstLoad) {
navigator.geolocation.getCurrentPosition(function (position) {
//success callback
}, function (error) {
//error callback
}, locationOptions);
}
参考 - https://msdn.microsoft.com/en-us/library/gg593067(v=vs.85).aspx