如何将geoip_country_code()Geoip1 javascript脚本转换为Geoip2

时间:2015-05-04 15:10:33

标签: javascript geoip maxmind

所以我有这段代码,我想转换为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";

}}

问题出在lign 4:geoip_country_code();不工作,我的意思是它不会返回任何东西,也不会抛出错误。我知道它是因为这个功能在geoip2中不可用,所以我正在寻找替代品。 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

假设您的意思是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/