在开发Web应用程序时,我正在使用HTML5 Geolocation API。我已完成以下步骤:
我使用以下方式触发了位置请求:
var params = {enableHighAccuracy: true, timeout:3600, maximumAge:60000};
navigator.geolocation.getCurrentPosition( reportPosition, gpsError, params );
我使用谷歌浏览器浏览器[版本41.0.2272.89(64位)]运行我的HTML代码,我发现gpsError
函数已被调用两次。我第一次收到错误代码POSITION_UNAVAILABLE
,这对我来说是有意义的,因为连接已关闭。但令人惊讶的是,我发现第二次错误代码是TIMEOUT
。
我在Safari [版本8.0.4(10600.4.10.7)]上运行相同的代码,gpsError
函数只调用一次,错误代码为POSITION_UNAVAILABLE
我打开了地理位置standard,我发现了以下步骤:
但在5.2 PositionOption interface部分中,它说明了以下内容:
所以我认为chrome违反了Geolocation API的标准,因为在知道postion不可用的情况下调用TIMEOUT
的错误回调后,用POSITION_UNAVAILABLE
调用错误回调对我没有意义。
哪一个被认为符合标准,铬或野生动物园?