J'ai un problème avec window.navigator, j'obtiens le code d'erreur 1, "Géolocalisation refusée par l'utilisateur" chaque fois que j'exécute le code suivant en tant que fichier html local:
navigator.geolocation.getCurrentPosition(function(position) {
console.log(position);
}, function(positionError) {
console.log(positionError);
});
La sortie provient de la fonction d'erreur, positionError contient:
code: 1
message: "User denied Geolocation"
Cela ne se produit pas si le html contenant est servi à partir d'un serveur.
Est-ce attendu? Existe-t-il un moyen d'utiliser le navigateur à partir d'un html local? J'essaie d'écrire une application mobile, mais j'essaie également d'éviter le réseau chaque fois que possible.
merci.
Si vous utilisez du chrome, consultez la réponse ci-dessous:
invite de localisation géographique HTML 5 dans Chrome
Il semble que ce soit une restriction de sécurité pour le protocole file
. On dirait que vous allez devoir l'héberger localement à partir d'un serveur.
Une réponse simple qui a fonctionné pour moi a été de simplement changer mon URL de
localhost
à
127.0.0.1
Chrome m'a demandé de confirmer que je voulais partager mes paramètres de localisation et j'étais absent!
Cliquez simplement sur le côté gauche de l'url sur le petit symbole "i": Reportez-vous à l'image ci-dessous)
--- (
Vérifiez ensuite si l'emplacement est "bloc". Modifiez-le en "autoriser", puis rechargez la page.
J'espère que cela t'aides.