Геолокация в браузерах Chrome в ожидании разрешения пользователя - PullRequest
0 голосов
/ 17 мая 2018

В моем браузере Chrome (66.0.3359.181 на win 7 64 бит), если я вызываю геолокацию с тайм-аутом, Chrome запрашивает разрешение и отправляет PositionError «Истекло время ожидания» после тайм-аута, даже если я не отвечал наразрешение, тогда как в спецификации W3C указано:

Обратите внимание, что время, потраченное на получение разрешения пользователя, не входит в период, охватываемый атрибутом 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, время ожидания: 10000, максимум Возраст: 1000 * 60 *3} ", и я не отвечаю на всплывающее окно с разрешениями, и я жду 10 секунд
  • Ожидается: ничего не должно происходить
  • Наблюдение:
    • В Chrome: Iсм. отображаемую ошибку: error {... "code": 3, "message": "Timeout expired"}
    • В Firefox: ничего не происходит

Я думаю, что это довольно ново, потому что я не помню, чтобы Chrome действовал так, когда я создавал этот код.

Кто-нибудь знает, почему Chrome действует так?Это ошибка?

...