如何使用javascript定位广告/横幅广告?

时间:2012-06-12 12:46:45

标签: javascript wordpress ads banner geotargetting

你知道有什么办法吗?真实的例子......?

我正在寻找像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)....

1 个答案:

答案 0 :(得分: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>