Как конвертировать 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/

Другие вопросы по тегам