当用户访问我的网站时,我会检查是否在 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>
这是每个浏览器的设置,您无法在脚本端控制。您可以做的就是提供一个链接这解释了如何更新给定浏览器的特定网站的地理位置设置。
似乎您可以通过链接来解决您的具体问题/location
,但链接到/location?update
或类似的东西。本质上,转到位置页面,但添加一些阻止自动重定向的内容,以便用户可以对其位置做出不同的决定。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)