JS地理位置,但没有提示 - 可能

js geolocation but without prompting - possible?

本文关键字:提示 可能 地理位置 JS      更新时间:2023-09-26

是否可以在没有浏览器提示的情况下获取用户的地理位置?

下面是 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>

有没有类似preventPrompt()的功能?

不,您无法阻止提示,这是一项安全功能,因为并非每个用户都想共享其位置。

从 W3C 文档:

此规范的符合实现必须提供 保护用户隐私的机制,此机制应 确保没有通过此 API 提供任何位置信息 未经用户明确许可。

但是您可以尝试在错误回调中使用像 geoip 这样的服务。

不,这是不可能的。

提示在那里,以便用户可以选择您是否知道该位置。