google-chrome - 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});
在代码笔中:
- 当我点击“策略 2:getCurrentPosition {enableHighAccuracy: false, timeout:10000, maximumAge: 1000*60*3}”并且我没有回复权限弹出窗口并等待 10 秒
- 预期:什么都不应该发生
- 观察到的 :
- 在 Chrome 上:我看到显示的错误:error {... "code":3,"message":"Timeout expired"}
- 在 Firefox 上:什么都没有发生
我认为它很新,因为我不记得 Chrome 在创建这个 codepen 时是这样的。
有人知道为什么 Chrome 会这样吗?这是一个错误吗?
解决方案
推荐阅读
- sql-server - 未找到 ODBC 驱动程序管理器数据源名称且未指定默认驱动程序
- excel - 在字符串中的“/”之后的单个数字字符串上添加零
- jenkins - Selenide / Jenkins:java.lang.IllegalStateException:没有 webdriver 绑定到当前线程:
- c++ - 当所有内容都在一个文件中时,为什么会出现链接器错误?
- android - 如何检测密钥是否在 TEE 或钛芯片内部生成
- rust - 内置测试器“定义”没有像我预期的那样工作
- haskell - 如何建立对 Servant 类型错误的直觉?
- oracle - 如何使用 Oracle XML DB Webservices 将表作为一行返回
- android - 从服务器获取数据后如何缓存数据?
- c# - 将文件分类到目录中