#javascript #jquery #html #css #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 amp;amp; pos.coords.longitude <= 45.775562 amp;amp; pos.coords.latitude <= 15.994809 amp;amp; 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 latat 15.994809-15.994792. Это небольшая площадь в Загребе, Хорватия. Поэтому, если ваше устройство не использует очень точную геолокацию, и вы действительно находитесь в этом месте, маловероятно, что у вас когда-нибудь появится всплывающее окно 987. Если вы хотите проверить, находится ли пользователь в США, вам следует использовать гораздо более сложное сопоставление (с учетом Аляски и Гавайев).