an diesem Code Werfen Sie einen Blick:getCurrentPosition feuert nur einmal in Firefox
navigator.geolocation.getCurrentPosition(function(){
console.log("a");
});
navigator.geolocation.getCurrentPosition(function(){
console.log("b");
});
https://jsfiddle.net/DerekL/sxb3j2bv/
Nach der Genehmigung durch den Benutzer erteilt wird, würde ich erwarten, dass die Konsole
> "a"
> "b"
angemeldet haben
und tatsächlich ist das in Chrome passiert. Doch auf Firefox, aus irgendeinem Grund feuert es nur einmal und nur protokolliert "b"
:
> "b"
Was kann ich dagegen tun? Ist das ein Fehler?
In Chrom, müssen Sie erhalten haben ' "b"' und dann ' "a"' – Rayon
Meine Vermutung ist, zweite 'navigator.geolocation.getCurrentPosition 'wird ebenfalls aufgerufen und überschreibt die erste Erlaubnisaufforderung. Wenn Sie die zweite Eingabeaufforderung zulassen, erhalten Sie "b" in der Konsole. Beachten Sie, dass jeder Browser über eigene Richtlinien und Methoden verfügt, um diese Berechtigung anzufordern._ [[Ref] (https://developer.mozilla.org/en-US/docs/Web/API/Navigator/geolocation)] – Rayon
@RayonDabre Sie haben Recht. '" b "' kommt vor '" a "'. –