GeoIP 重定向 欧盟 美国 英国
Posted
技术标签:
【中文标题】GeoIP 重定向 欧盟 美国 英国【英文标题】:GeoIP Redirect EU USA UK 【发布时间】:2014-06-21 23:59:09 【问题描述】:我想知道您是否可以给我一个有效的代码,这样当有人从英国加载网站时,它会将用户重定向到 /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>
【问题讨论】:
【参考方案1】:通常这样的重定向是在服务器端通过查询地理位置数据库来执行的。如果用户允许页面查询位置,JavaScript 方法可能适用于现代浏览器。
无论如何,请仔细查看纬度和经度的约束条件。如我所见,它应该在 lon 45.775534-45.775562 lat 15.994809-15.994792 的非常小的盒子里。这是克罗地亚萨格勒布的一个小广场。因此,除非您的设备使用非常精确的地理位置并且您实际上在这个位置,否则您几乎不可能有 987 弹出窗口。如果你想检查用户是否在美国,你应该使用更复杂的匹配(考虑到阿拉斯加和夏威夷)。
【讨论】:
以上是关于GeoIP 重定向 欧盟 美国 英国的主要内容,如果未能解决你的问题,请参考以下文章