3 Stimmen

Wie kann ich Anzeigen/Banner mit JavaScript gezielt ausrichten?

Kennen Sie eine Möglichkeit, dies zu tun? Ein echtes Beispiel...?

Ich suche einen kostenlosen Service wie MaxMind oder andere (es ist mir wirklich egal) und ich hätte gerne eine andere Anzeige für US-Besucher.

Vielen Dank!

2astalavista: Dein Beispiel funktioniert einwandfrei. Das habe ich gemacht und es funktioniert immer noch nicht.

Geo Test

$(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);
                }
            );*/
        }
    );

});?

Weiß nicht, ob es am Server (Amazon) oder am CDN (Cotendo) liegt....

3voto

Ich habe diese gefunden: http://freegeoip.net/static/index.html und http://smart-ip.net

Beispiel:

$.getJSON( "http://smart-ip.net/geoip-json?callback=?",
    function(data){
        var c = data.countryCode;
        if(c=="US" || c=="USA" )
            alert("Besucher aus Amerika!");else
                alert("Kein amerikanischer Besucher! ("+c+")");
    }
);

Warum funktioniert dein Code nicht?

1) Du solltest auf die Fehlermeldungen achten:

Uncaught SyntaxError: Unerwartetes Token ? 

Bildbeschreibung hier eingeben

Entferne ?

2) Fehler erneut:

Uncaught TypeError: Eigenschaft '$' des Objekts [object Window] ist keine Funktion 

Das bedeutet, dass jQuery aus irgendeinem Grund nicht funktioniert.

Korrigiere den Include-Link gemäß diesem!

Jetzt funktioniert es :)

Geo Test

$(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';}
        }
    );

});

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X