Посмотрите на этот код:getCurrentPosition только срабатывает один раз в Firefox
navigator.geolocation.getCurrentPosition(function(){
console.log("a");
});
navigator.geolocation.getCurrentPosition(function(){
console.log("b");
});
https://jsfiddle.net/DerekL/sxb3j2bv/
После разрешения предоставляется пользователем, я бы ожидать, чтобы консоль вошли
> "a"
> "b"
И действительно, это то, что произошло в Chrome. Однако на Firefox, по какой-то причине он только стреляет один раз и только журналы "b"
:
> "b"
Что я могу поделать? Это ошибка?
В хроме, вы должны иметь '«Ъ»' ', а затем«а»' – Rayon
Мое предположение второе 'navigator.geolocation.getCurrentPosition 'также вызывается, и он отменяет начальное разрешение. Когда вы разрешаете второе приглашение, вы получаете '' b "' в консоли. Согласно документам, _Be знает, что каждый браузер имеет свои собственные политики и методы для запроса этого разрешения ._ [[Ref] (https://developer.mozilla.org/en-US/docs/Web/API/Navigator/geolocation)] – Rayon
@RayonDabre Вы правы. '' b "' предшествует '' a ''. –