2016-09-21 86 views
-2

以下腳本正在我的網站上用於購買按鈕,根據其位置(國家或地區)在一個在線商店或其他網站上重定向訪問者。地理定位腳本

我需要檢索的國家/大陸作其他用途的價值,但作爲一個JS新手,我不能getgeoip.json.continent_code

// Buy Button 
 
function getgeoip(json) { 
 
    // json.continent_code = "EU"; 
 
    // json.country_code = "AU"; 
 
    //window.console && console.log(json); 
 
    if (json.country_code == "US") { 
 
     $("#link-amazon") 
 
      .css("display", "none"); 
 
     $("#buybtn") 
 
      .css("display", "block"); 
 
    } else if (json.country_code == "GB") { 
 
     $("#link-amazon") 
 
      .css("display", "none"); 
 
     $("#buybtn") 
 
      .css("display", "block"); 
 
     $("#buybtn") 
 
      .attr("action", "http://shop-us.mystore.io/cart/add "); 
 
     $("#buypdt") 
 
      .attr("value", "8819215683"); 
 
    } else if (json.country_code == "AU") { 
 
     $("#link-amazon") 
 
      .css("display", "none"); 
 
     $("#price") 
 
      .css("display", "block"); 
 
     $("#price2") 
 
      .css("display", "none"); 
 
     $("#buybtn") 
 
      .css("display", "block"); 
 
     $("#buybtn") 
 
      .attr("action", "https://shop-au.mystore.io/cart/add "); 
 
     $("#buypdt") 
 
      .attr("value", "19889525059"); 
 
    } else if (json.continent_code == "EU") { 
 
     $("#price") 
 
      .css("display", "block"); 
 
     $("#price2") 
 
      .css("display", "none"); 
 
     $("#link-amazon") 
 
      .css("display", "none"); 
 
     $("#buybtn") 
 
      .css("display", "block"); 
 
     $("#buybtn") 
 
      .attr("action", "http://shop-eu.mystore.io/cart/add "); 
 
     $("#buypdt") 
 
      .attr("value", "8346318915"); 
 
    } else { 
 
     $("#link-amazon") 
 
      .css("display", "none"); 
 
     $("#buybtn") 
 
      .css("display", "block"); 
 
     $("#price") 
 
      .css("display", "none"); 
 
     $("#price2") 
 
      .css("display", "block"); 
 
     alert('hi'); 
 
    } 
 
} 
 
$(document) 
 
    .ready(function() { 
 
     $.ajax({ 
 
      url: 'https://telize-v1.p.mashape.com/geoip' 
 
      , type: 'GET' 
 
      , data: {} 
 
      , dataType: 'json' 
 
      , success: function (data) { 
 
       getgeoip(data); 
 
      } 
 
      , error: function (err) {} 
 
      , beforeSend: function (xhr) { 
 
       xhr.setRequestHeader("X-Mashape-Authorization", "KFiiN9M9iImsh57NIcdOcOPVltLDp17HQ6Gjsn5PXFCBAzL8UM"); // Enter here your Mashape key 
 
      } 
 
     }); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<form action="http://shop-eu.mystore.io/cart/add" method="post" target="_blank" id="buybtn" style="display: block;"> 
 
    <input name="return_to" type="hidden" value="cart"> 
 
    <input name="handle" type="hidden" value="mystore"> 
 
    <input type="hidden" name="id" value="8739494597" id="buypdt"> 
 

 
    <div class="buy-button-wrapper"> 
 
     <button type="submit" id="btn-buy" class="btn-buy" style="margin-top: 0;"><div class="cart"></div>BUY</button> 
 
    </div> 
 
</form>

+0

請解釋更多一點關於你想達到什麼,當我運行腳本它給我的國家代碼「AE」,這是正確的因爲我在AE。 –

回答

1

讓我覺得也許你可以使用saas解決方案。我使用freegeoip。

$.getJSON('//freegeoip.net/json/?callback=?', function (data) { 
       alert('Your Country is ' +data.country_name); 
       console.log(JSON.stringify(data, null, 2)); 
      }); 

響應:

{ 
    "ip": "78.187.196.149", 
    "country_code": "TR", 
    "country_name": "Turkey", 
    "region_code": "38", 
    "region_name": "Kayseri", 
    "city": "Kayseri", 
    "zip_code": "", 
    "time_zone": "Europe/Istanbul", 
    "latitude": 38.7322, 
    "longitude": 35.4853, 
    "metro_code": 0 
} 

詳細信息: How to get client's IP address using javascript only?

+1

問題很尷尬,但你幫了很多Mahmut :) –