当用户访问我的网站时,我会检查是否在 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>