如何过期或重置地理位置

Jam*_*lls 9 javascript html5 location geolocation

当用户点击我的网站时,我会检查我是否在PHP中设置了位置会话.如果没有与用户位置设置的会话,我将它们重定向到www.domain.net/location.在此页面上,有许多选项供用户选择位置.如果浏览器允许,其中一个选项是使用浏览器来设置它.以下代码非常有效.

我遇到的问题是,一旦用户允许浏览器共享该位置,这似乎永远设置.在用户浏览时,他们可能决定更改其位置,然后单击按钮再次转到www.domain.net/location页面.没有任何弹出,它会自动获取浏览器位置并重定向它们.有页面上的其他位置的选项,包括一个可点击的地图,我真正需要的是能够重置,过期,删除,强制的东西让浏览器再次询问用户是否希望使用浏览器设置的位置,或允许用户使用其他选项之一.

我唯一能想到的是将下面的实际Javascript移到另一个页面上,并在www.domain.net/location页面上有另一个按钮,上面写着"使用我的精确位置",然后链接到下面的JS .

有没有人知道重置这个或什么的另一种方式?

<script type="text/javascript" charset="utf-8">


    function findLocation()
    {
      var options = {timeout: 60000};
      navigator.geolocation.getCurrentPosition(foundLocation, noLocation, options);
    }

    function foundLocation(position)
    {
      var lat = position.coords.latitude;
      var lng = position.coords.longitude;

      //alert('Found location: ' + lat + ', ' + lng);
      window.location = "http://www.domain.net/?lat=" + lat + "&lng=" + lng;
    }

    function noLocation()
    {
      alert('Could not find location');
      window.location = "http://www.domain.net/location";
    }

    findLocation();


  </script>
Run Code Online (Sandbox Code Playgroud)

Exp*_*lls 2

这是每个浏览器的设置,您无法在脚本端控制。您可以做的就是提供一个链接(例如此链接),该链接解释了如何更新给定浏览器的特定网站的地理位置设置。

看来您可以通过链接到或类似的方式来解决您的特定问题/location,而不是链接到。/location?update本质上,转到位置页面,但添加一些阻止自动重定向的内容,以便用户可以对其位置做出不同的决定。