web-dev-qa-db-fra.com

navigateur html "Géolocalisation refusée par l'utilisateur"

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.

16
Sagi Mann

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.

23
marteljn

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!

4
Charlie Tupman

Cliquez simplement sur le côté gauche de l'url sur le petit symbole "i": Reportez-vous à l'image ci-dessous)

--- (info symbol illustration

Vérifiez ensuite si l'emplacement est "bloc". Modifiez-le en "autoriser", puis rechargez la page.

J'espère que cela t'aides.

2
Sumeet