2012-06-12 69 views
2

你知道有什麼辦法嗎?真實的例子...?如何使用JavaScript爲地理位置定位廣告/橫幅?

我正在尋找像maxmind或其他人(我真的不在乎什麼)的免費服務,我希望爲美國訪問者提供一個不同的廣告。

非常感謝!

2astalavista:你的例子工作正常。這就是我所做的,但仍然無法正常工作。

<html> 
<head> 
<title>Geo Test</title> 
<script type='text/javascript' src='http://www.101greatgoals.com/wp-includes/js/jquery/jquery.js?ver=1.7.1'></script> 
<script> 
$(document).ready(function() { 
    $.getJSON("http://smart-ip.net/geoip-json?callback=?", 
     function(data){    
      console.log(data); 
      var c = data.countryCode; 
      if(c=="US" || c=="US"){ 
       document.getElementById('ddd').innerHTML = 'US'; } else { 
        document.getElementById('ddd').innerHTML = 'Not US';} 
      /* 
      this service needs ip 
      var ip = data.host; 
      alert(ip); 
      $.getJSON("http://freegeoip.net/json/"+ip, 
       function(data){ 
        console.log(data); 
       } 
      );*/ 
     } 
    ); 

});? 
</script> 
</head> 
<body> 
<div id="ddd"></div> 
</body> 
</html> 

不知道它的服務器(亞馬遜)或CDN(cotendo)....

回答

3

我發現這些:http://freegeoip.net/static/index.htmlhttp://smart-ip.net

example

$.getJSON("http://smart-ip.net/geoip-json?callback=?", 
    function(data){ 
     var c = data.countryCode; 
     if(c=="US" || c=="USA") 
      alert("American visitor!");else 
       alert("Not american visitor! ("+c+")"); 
    } 
); 

爲什麼你的代碼不工作?

1)你應該採取的錯誤消息的護理:

Uncaught SyntaxError: Unexpected token ? 

enter image description here

刪除?

2)再次錯誤:

Uncaught TypeError: Property '$' of object [object Window] is not a function 

這意味着jQuery的不工作出於某種原因。

修復包含根據this的鏈接!

現在工程:)

<html> 
<head> 
<title>Geo Test</title> 
<script type='text/javascript' src='http://code.jquery.com/jquery-latest.min.js'></script> 
<script> 
$(document).ready(function() { 
    $.getJSON("http://smart-ip.net/geoip-json?callback=?", 
     function(data){    
      console.log(data); 
      var c = data.countryCode; 
      if(c=="US" || c=="US"){ 
       document.getElementById('ddd').innerHTML = 'US'; } else { 
        document.getElementById('ddd').innerHTML = 'Not US';} 
     } 
    ); 

}); 
</script> 
</head> 
<body> 
<div id="ddd"></div> 
</body> 
</html> 
+0

試圖做到這一點:不工作:( user1341839

+1

它正在工作,請參閱我已鏈接的示例(http://jsfiddle.net/UHgu4/5/)。你需要jQuery來運行這段代碼。 – 2012-06-14 08:38:29

+0

試過你的例子,它效果很好。不知道爲什麼它不能在我的網站/服務器上運行 - 我正在使用Amazon EC2和Cotendo CDN。 @ 2astalavista – user1341839