2016-09-21 2 views
-2

아래 스크립트는 위치 (국가 또는 대륙)에 따라 온라인 상점 또는 다른 온라인 상점에서 방문자를 리디렉션하기 위해 BUY 버튼으로 내 사이트에서 사용되고 있습니다.위치 정보 스크립트

나는 다른 목적으로 국가/대륙의 값을 검색 할 필요가 있지만, 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을 많이 도왔습니다 :) –