js geolocation but without prompting - possible?

試著忘記壹切 提交于 2019-12-18 06:58:39

问题


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 ?


回答1:


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.




回答2:


No, that's not possible.

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



来源:https://stackoverflow.com/questions/14538883/js-geolocation-but-without-prompting-possible

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!