2

在开发 Web 应用程序时,我使用的是 HTML5 Geolocation API。我已完成以下步骤:

  1. 我关闭了台式计算机上的 WiFi 连接。
  2. 我使用以下方法触发了位置请求:

    var params = {enableHighAccuracy: true, timeout:3600, maximumAge:60000};
    navigator.geolocation.getCurrentPosition( reportPosition, gpsError, params );
    
  3. 我使用 Google Chrome 浏览器 [版本 41.0.2272.89(64 位)] 运行我的 HTML 代码,我发现该gpsError函数已被调用两次。我第一次收到一个错误代码POSITION_UNAVAILABLE,这对我来说很有意义,因为连接已关闭。但令人惊讶的是,我发现第二次的错误代码是TIMEOUT.

  4. 我在 Safari [版本 8.0.4 (10600.4.10.7)] 上运行相同的代码,并且该gpsError函数仅被调用一次并带有错误代码POSITION_UNAVAILABLE

  5. 我打开了地理定位标准,发现了以下步骤:

    在此处输入图像描述

但是在第5.2 PositionOption interface节中,它声明了以下内容: 在此处输入图像描述

TIMEOUT所以我猜chrome违反了Geolocation API的标准,因为在知道postion不可用的事实之后调用错误回调对我来说没有意义,即调用错误回调POSITION_UNAVAILABLE

哪个被认为符合标准,chrome 或 safari?

4

0 回答 0