首页 > 解决方案 > Chrome 浏览器上的地理位置超时等待用户许可

问题描述

在我的 Chrome 浏览器(win 7 64 位上为 66.0.3359.181)上,如果我调用一个超时的地理位置,Chrome 会请求许可并在超时后发送 PositionError "Timeout expired",即使我没有回复许可,而W3C 规范说:

请注意,获取用户权限所花费的时间不包括在 timeout 属性所涵盖的时间段内。timeout 属性仅适用于位置获取操作。

Firefox 60 尊重 W3C,只要用户给予或拒绝许可,它就不会抛出错误。

演示:https ://codepen.io/benjamin-chevillon/full/GxPwEp/

navigator.geolocation.getCurrentPosition(
successCallback,     errorCallback, 
{enableHighAccuracy: false, timeout:10000, maximumAge: 1000*60*3});

在代码笔中:

我认为它很新,因为我不记得 Chrome 在创建这个 codepen 时是这样的。

有人知道为什么 Chrome 会这样吗?这是一个错误吗?

标签: google-chrometimeoutw3c-geolocation

解决方案


推荐阅读