Geolocation Current Position API 在 IE11.5 windows10 中不起作用

Posted

技术标签:

【中文标题】Geolocation Current Position API 在 IE11.5 windows10 中不起作用【英文标题】:Geolocation Current Position API not working in IE11.5 windows10 【发布时间】:2017-08-29 14:34:22 【问题描述】:

地理定位当前位置 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),说明“无法确定当前位置。”。

允许用户访问位置的浏览器提示设置为允许,因此这不应该是原因。

版本信息

还有其他建议吗?

【问题讨论】:

我也遇到了同样的问题。我正在运行 IE 版本 11.447.14393.0 【参考方案1】:

固定

1 – 我在下面描述的更改应该只针对 IE 添加。因此,如果我们需要添加解决方法,请检查浏览器是否为 IE。不要更改其他浏览器。

2 – 将 enableHighAccuracy 的准确度更改为 false。我知道默认情况下这是错误的,但以防万一。

3 – 在缓存时间的 maxAge 上添加一些合理的值。 (仅适用于 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

【讨论】:

这对我不起作用,让我知道我出了什么问题。 $("#btn").click(function() var options1 = enableHighAccuracy: false, maximumAge: 60000 ; setCurrentPos(options1); );功能 setCurrentPos(options1) navigator.geolocation.getCurrentPosition(function (position) alert("success"); , function (error) alert("error"); , options1); 【参考方案2】:

直到今天(4.4.2017)“navigator.geolocation.getCurrentPosition”在win10 Insider Preview 15063.11 + IE11,Edge,FF下完美运行。 但是今天只发生超时错误。 所以现在网络中正在发生一些大事

*更新:2017 年 4 月 5 日一切正常

【讨论】:

刚刚更新了正确的 IE 版本是不是 IE 11.5 与 geoLocation API 有一些问题 我使用的是 IE11.0.15063.0。现在地理定位按预期工作 Itried 在我的 IE 11.5 上运行 W3 学校地理定位演示 w3schools.com/html/… 这也显示了相同的行为一次,然后给出错误代码为 2。如果可能,请尝试在 IE 11.5 上运行相同的你的 Windows 10 机器

以上是关于Geolocation Current Position API 在 IE11.5 windows10 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

地理位置 API 权限 Web 浏览器

我正在使用 geolocation() api,但 JSON 没有通过

滑动RecyclerView时出现异常: java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid item posit

Python_报错:SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in posit

Ansible gcp_storage_object_module: UnicodeDecodeError: 'utf-8' codec can't decode byte 0x87 in posit

Cordova geolocation navigator.geolocation.getCurrentPosition 错误的窗口访问位置