Van egy angol nyelvű weboldalam, viszont egyre több magyar látogatóm is akad, számukra pedig létrehoztam egy magyar verziót is.
Az első ötletem az volt, hogy automatikusan átirányítok minden magyar IP-ről érkező látogatót a magyar weboldalra, de ezt végül elvetettem és arra jutottam, hogy jobb megoldás lenne nekik egy felugró üzenetet küldeni miszerint úgy tűnik, hogy magyar nyelvezettel rendelkező látogatók, ezért nem szeretnék-e inkább megtekinteni a magyar verziót. Ezután természetesen jöhet a link. Hogy hogy is lehet ezt kivitelezni?
jQuery + Geo-IP API:
Ez volt a kiindulópont:
$(document).ready( function() {
$.getJSON( "http://smart-ip.net/geoip-json?callback=?",
function(data){
console.log(data);
var c = data.countryCode;
if(c=="HU" || c=="HU" )
alert("Magyar látogató!");
}
);
});
Na jó, ez eddig szuper, a magyar látogatók kapnak egy felugró alertet, de én nem ezt akarom és szeretnék HTML-t is a kódba, tehát beépítettem egy egyszerű jQuery dialogot a funkcióba:
Természetesen kellenek a következők a <head>-be:
<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.9.1.js"></script>
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
Majd maga a módosított script és a beépített dialog:
<script type='text/javascript'>
jQuery(document).ready( function() {
jQuery.getJSON( "http://smart-ip.net/geoip-json?callback=?",
function(data){
console.log(data);
var c = data.countryCode;
if(c=="HU" || c=="HU" )
$(function() {
$( "#dialog" ).dialog();
});;
}
);
});
</script>
<div id="dialog" title="Üdvözlet!">
<p>Úgy tűnik, hogy magyar anyanyelvű látogató vagy.<br />Nem akarod inkább megtekinteni a weblapom magyar nyelvű változatát? <p><strong>Kattints ide:</strong> <a href="#">Magyar változat</a></p></p>
</div>
Szuperül működik Úgy gondoltam megosztom, mert ez nagyon jó alap és elég rugalmasan át lehet szabni egyéb igények szerint is.