Как конвертировать скрипт JavaScript Maxmind Geoip1 в Geoip2
Используя первый Geoip, я использовал простой код Javascript (как показано ниже), но весь день пытался выяснить, что мне нужно сделать, чтобы скрипт распознал код страны для Maxmind Javascript Geoip2.
Оригинальный код GEOip
<script type="text/javascript">
var user_country = geoip_country_code();
if(user_country == "US")
document.write(hockeyAds[4]);
else
document.write(hockeyAds[5]);
</script>
Что у меня в новом заголовке
<script type="text/javascript" src="//j.maxmind.com/js/apis/geoip2/v2.0/geoip2.js"></script>
Последний код, который я пытался использовать.
<script type="text/javascript">
var user_country = geoip2.cityISPOrg.country.iso_code();
if(user_country == "US")
document.write(hockeyAds[4]);
else
document.write(hockeyAds[5]);
</script>
Ниже на той же странице я попробовал этот скрипт, который кто-то сделал, и я смог заставить его набрать правильный код страны. Поэтому я убежден, что это проблема с приведенным выше кодом JavaScript.
<script>
geoip2.cityISPOrg(function (response) {
$("#usercountry").html(response.country.iso_code);
});
</script>
<p>
<span id="usercountry"></span>
</p>
Не совсем все хорошо с пониманием Javascript. Спасибо
1 ответ
Решение
Вам необходимо передать обратные вызовы об успехе и ошибке в методы geoip2. Попробуй это:
geoip2.country(
function (response) {
if (response.country.iso_code === "US") {
document.write(hockeyAds[4]);
} else {
document.write(hockeyAds[5]);
}
},
function (error) {
// handle error
}
);
Кроме того, этот учебник может помочь вам понять API: http://dev.maxmind.com/geoip/geoip2/javascript/tutorial/