识别代理后用户的地理位置



我正在编写一个web应用程序,需要用户的当前地理位置。为了识别地理位置,我使用了以下使用HTML5地理定位api的代码。我从W3schools获得了这个代码。

<!DOCTYPE html>
<html>
<body>
<p id="demo">Click the button to get your coordinates:</p>
<button onclick="getLocation()">Try It</button>
<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>
</body>
</html>

我已经用Tomcat运行了这段代码,但是它不起作用无论是Firefox还是Chrome。然后我在W3Schools中尝试了"自己试试"这段代码,即使在Firefox和Chrome中也没有工作。我在代理的后面。

我在showPosition()函数体的开头引入了一个alert()语句,它没有被调用。所以看起来这个函数根本没有被调用。我不知道怎么解决这个问题。我迫切需要解决这个问题。我以前发布过这个问题,但没有得到回应,可能是因为没有把问题说清楚。所以我再次张贴的问题。

是否有其他方法可以获得通过计算机访问该应用程序的用户的地理位置?所以请帮忙。谢谢你!

EDIT:我已经在Tomcat上托管了这个文件。每次我执行,它给出错误代码3,即超时。但是我在两个月前执行了相同的Javascript。然后它执行得很完美。是当前版本的浏览器有问题吗?

没有代理与html5地理定位api,它检测的位置基于你的GPS设备,如果你有一个在你的机器上,第二它去使用wifi设备,最后它使用互联网IP来检测你的位置,如果你使用代理连接它会显示你的代理的位置。您的问题可能是因为您没有在浏览器上给本地主机权限,请再次检查并重试您的代码。

最新更新