Как конвертировать geoip_country_code() JavaScript-скрипт Geoip1 в Geoip2
Итак, у меня есть этот фрагмент кода, который я хотел бы преобразовать в Geoip2:
window.onload = function(){
var eu = ['AT','DE','BE','ES','FI','FR','IE','IT','LU','NL','PT','GR','SI','CY','MT','SK','EE'];
var country = geoip_country_code();
var index = eu.indexOf(country);
if(index > -1){
document.getElementById('prices').src = "http://test.com";
}else{
document.getElementById('prices').src = "http://test.com";
}}
Проблема на 4-м уровне: geoip_country_code(); не работает, и я имею в виду, что он ничего не возвращает и не выдает ошибку. Я знаю, что это потому, что эта функция недоступна в geoip2, поэтому я ищу замену. Есть идеи?
1 ответ
Решение
Предполагая, что вы имеете в виду maxmind-API:
Новое имя функции geoip2.country
,
Возвращенный результат будет содержать country
-свойство, желаемое значение (ISO-код) доступно через iso_code
-член country
-имущество:
window.onload = function(){
geoip2.country(
function(result){
var eu = ['AT','DE','BE','ES','FI','FR','IE','IT','LU','NL','PT','GR','SI','CY','MT','SK','EE'];
var country = result.country.iso_code;
var index = eu.indexOf(country);
if(index > -1){
document.getElementById('prices').src = "http://test.com?eu=1";
}
else{
document.getElementById('prices').src = "http://test.com?eu=0";
}
},
function(error){
console.log(error);
});
}
Для получения дополнительной информации см.: http://dev.maxmind.com/geoip/geoip2/javascript/