在我的Chrome浏览器(赢得7位64.0.3359.181)上,如果我通过超时调用地理位置,Chrome会请求权限并在超时后发送一个PositionError“Timeout expired”,即使我没有回复许可,而W3C specification说:
请注意,获取用户权限所花费的时间不是 包含在timeout属性所涵盖的时间段内。超时 属性仅适用于位置获取操作。
Firefox 60与W3C密切合作,只要用户提供或拒绝许可,就不会抛出错误。
演示:https://codepen.io/benjamin-chevillon/full/GxPwEp/
navigator.geolocation.getCurrentPosition(
successCallback, errorCallback,
{enableHighAccuracy: false, timeout:10000, maximumAge: 1000*60*3});
在codePen中:
我认为这很新,因为我不记得当我创建此代码集时,Chrome的行为就像这样。
有人知道为什么Chrome会这样吗?这是一个错误吗?