2012-07-30 13 views
14

tengo un problema con window.navigator, estoy recibiendo el código de error 1, "negó usuario Geolocalización" cada vez que ejecute el código siguiente como un archivo HTML local:html navegador "Usuario negó Geolocalización"

navigator.geolocation.getCurrentPosition(function(position) { 
     console.log(position); 
    }, function(positionError) { 
     console.log(positionError); 
    }); 

la salida está viniendo de la función de error, PositionError contiene:

code: 1 
message: "User denied Geolocation" 

Esto no sucede si el html que contiene se sirve de algún servidor.

¿Se espera esto? ¿Hay alguna forma de usar el navegador desde un html local? Intento escribir alguna aplicación móvil, pero también intento evitar la red siempre que sea posible.

gracias.

+1

¿Qué navegador está utilizando? – Adam

Respuesta

23

Si está utilizando cromo, por favor, eche un vistazo a la respuesta a continuación:

HTML 5 Geo Location Prompt in Chrome

parece que esto es una restricción de seguridad para el protocolo file. Parece que va a necesitar alojarlo localmente desde un servidor.

+1

Una solución realmente fácil para esto: si tienes Python instalado, navega hasta el directorio raíz de tu proyecto en una terminal/línea de comando/shell y ejecuta 'python -m SimpleHTTPServer'. (Fuente: http://stackoverflow.com/questions/530787/simple-http-web-server) –

+0

Nota: Incluso después de usar un servidor y actualizar la página, la consola puede estar vacía. Busque una pequeña barra o ventana en la parte superior de su navegador solicitando permiso para los servicios de ubicación. – givanse

+3

'php -Slocalhost: 3000' también funciona. – manafire

4

Una simple respuesta que trabajó para mí era simplemente cambiar mi URL de

localhost 

a

127.0.0.1 

Chrome me pidió que confirmar que quería compartir mis ajustes de ubicación y yo estaba fuera!

Cuestiones relacionadas