Я хотел бы использовать API геолокации на стороне клиента, чтобы определить IP-адрес пользователя и добавить его состояние на мою веб-страницу. Поскольку я новичок в изучении Javascript и jQuery, не могли бы вы помочь мне с моей проблемой ниже?
Я получаю сообщение об ошибке из консоли, что $ не определено - как вы предлагаете мне решить эта проблема так решение работает? (см. ближе к концу скрипта)
Дополнительные проблемы:
- Я хочу, чтобы состояние пользователя отображалось одновременно с отображением окружающего текста –– как мне выполнить sh это?
- Я протестировал API с помощью VPN и обнаружил несколько неточностей - API-интерфейсам труднее отслеживать IP (и определять их состояние), когда пользователь использует VPN быть в Калифорнии по сравнению с тем, если бы они были на самом деле в Калифорнии? ( Калифорния используется в качестве примера )
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Get User State & Display</title>
<script src="https://cdn.jsdelivr.net/npm/ip-geolocation-api-jquery-sdk@1.1.0/ipgeolocation.min.js"></script>
<script>
_ipgeolocation.enableSessionStorage(true);
var ip = sessionStorage.getItem("ip");
var country_name = sessionStorage.getItem("country_name");
var state_prov = sessionStorage.getItem("state_prov");
if (!ip || !country_name || !country_code2) {
_ipgeolocation.makeAsyncCallsToAPI(false);
_ipgeolocation.setFields("country_name, state_prov");
_ipgeolocation.getGeolocation(handleResponse);
}
function handleResponse(json) {
ip = json.ip;
country_name = json.country_name;
state_prov = json.state_prov;
}
$("document").onload(function() {
$('.state').html(json.state_prov);
});
// I am receiving an error from the Console that $ is not defined – how do you suggest I solve this problem so the solution works?
</script>
</head>
<body>
<p><strong>If you would like to know more about stock options in <span class="state"></span>, contact our team today!</strong></p>
</body>
</html>