我想知道您是否可以给我一个有效的代码,以便当有人从英国加载网站时,它将用户重定向到/ UK /,然后如果他们从美国加载该网站,则转到/ US /,如果他们来自欧盟的任何地方(不包括英国到/ EU /
我已经试过了这段代码,只是说123。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>removed</title>
<script type='text/javascript'>//<![CDATA[
window.onload=function(){
if(navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(showPosition,showError);
}
else
{
alert("Geolocation is not supported by this browser.");
}
function showError(error)
{
switch(error.code)
{
case error.PERMISSION_DENIED:
alert("User denied the request for Geolocation.");
break;
case error.POSITION_UNAVAILABLE:
alert("Location information is unavailable.");
break;
case error.TIMEOUT:
alert("The request to get user location timed out.");
break;
case error.UNKNOWN_ERROR:
alert("An unknown error occurred.");
break;
}
}
function showPosition(pos)
{
if (pos.coords.longitude >= 45.775534 && pos.coords.longitude <= 45.775562 && pos.coords.latitude <= 15.994809 && pos.coords.latitude >= 15.994792)
{
alert("987");
//window.location = 'USD/';
}
else{
alert("123");
// window.location = 'GBP/';
}
}
}//]]>
</script>
</head>
<body>
</body>
</html>
最佳答案
通常,这样的重定向是通过查询地理位置数据库在服务器端执行的。如果用户允许页面查询位置,则JavaScript方法可能适用于现代浏览器。
无论如何,请仔细查看纬度和经度的限制条件。正如我所看到的,它应该放在45.775534-45.775562 lat 15.994809-15.994792很小的盒子中。这是克罗地亚萨格勒布的一个小广场。因此,除非您的设备使用非常精确的地理位置,并且您实际上位于该位置,否则几乎不可能出现987弹出窗口。如果要检查用户是否在美国,则应使用更复杂的匹配项(考虑到阿拉斯加和夏威夷)。