문제

Is it possible to get the geolocation of a user without the browser prompt?

Here's the code sample from W3

<script>
   var x = document.getElementById("demo")

   function getLocation(){
     if(navigator.geolocation){
       navigator.geolocation.getCurrentPosition(showPosition);
     } else {
       x.innerHTML="Geolocation is not supported by this browser.";}
     }
     function showPosition(position){
       x.innerHTML="Latitude: " + position.coords.latitude + 
       "<br>Longitude: " + position.coords.longitude;   
     }
</script>

Is there any preventPrompt()-like function ?

도움이 되었습니까?

해결책

No you cant prevent the prompt, its a security feature cause not every user wanna share its location.

From the W3C docs:

A conforming implementation of this specification must provide a mechanism that protects the user's privacy and this mechanism should ensure that no location information is made available through this API without the user's express permission.

But you can try to use a service like geoip in the error callback.

다른 팁

No, that's not possible.

The prompt is there so that the user can choose whether you know the location or not.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top