javascript - GeoIP 重定向欧盟美国英国

标签 javascript jquery html css geoip

我想知道你是否可以给我一个有效的代码,这样当有人从英国加载网站时,它会将用户重定向到/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 方法可能适用于现代浏览器。

无论如何,请仔细查看纬度和经度的约束条件。如我所见,它应该在非常小的盒子里 lon 45.775534-45.775562 lat 15.994809-15.994792。这是克罗地亚萨格勒布的一个小广场。因此,除非你的设备使用非常精确的地理定位并且你确实在这个位置,否则你几乎不可能有 987 弹出窗口。如果你想检查用户是否在美国,你应该使用更复杂的匹配(考虑到阿拉斯加和夏威夷)。

关于javascript - GeoIP 重定向欧盟美国英国,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24346947/

相关文章:

javascript - 如何更改 map 上的值?

javascript - 单击 div 外部时删除了类,但关闭 div 时保持删除状态

javascript - 使用不同的子元素数量重新渲染后,React js 崩溃

php - 动态生成 PayPal 按钮

javascript - 如何在 css/javascript 中制作随分辨率缩放的全出血背景图像?

javascript - 如何在 JavaScript 中从多个数组中获取共同的最小值和最大值

javascript - 使用 jQuery 获取具有特定类的子项的 N 索引

javascript - 使用 .each() 循环时获取数据属性返回未定义

javascript - 如何根据其他 ui-date picker 在 ui-datepicker 中选择日期

html - 社交媒体粘性垂直对齐