我设法访问了访问该网站的人的国家:
<script type='text/javascript'>
$(window).load(function(){
$.getJSON('http://api.wipmania.com/jsonp?callback=?', function (data) {
$("#hello").html(
'Country: ' + data.address.country);
});
});
</script>
<p id="hello"></p>
现在我正在努力的是我有一个基本的链接
<a href="http://www.google.com" id="global">Google</a>
我希望根据位置更改网址的扩展名,例如
if data.address.country = Australia change "www.google.com" to "www.google.com.au"
or if data.address.country = New Zealand change "www.google.com" to "www.google.co.nz"
or if data.address.country = Any thing else leave it as is "www.google.com"
我知道这不是真正的代码,但希望它足够清楚,你知道我来自哪里,可能使代码通用,所以我可以在将来添加其他位置。
答案 0 :(得分:0)
您可以进行映射:
var country_map = {
'Australia': 'google.com.au',
'New Zealand': 'google.co.nz'
'Russia': 'google.ru'
};
var country = data.address.country;
if (country in country_map) {
link.href = link.href.replace('google.com', country_map[country];
}
Google.com redirects to a user's appropriate country,所以我实际上不会触及开头的链接。
答案 1 :(得分:0)
尝试动态更改href属性
$.getJSON('http://api.wipmania.com/jsonp?callback=?', function (data) {
$("#hello").html(
'Country: ' + data.address.country);
});
$('#global').attr('href', map[data.address.country])
});
然后在代码中的某处写一个说
的地图 var map = {
'Australia': 'google.au',
'India' : 'google.in'
}
答案 2 :(得分:0)
首先,您需要将每个国家/地区映射到各自的网址。您应该使用AJAX调用返回的确切值作为对象的键。
var country = data.address.country;
var urls = {
'Australia':'www.google.com.au',
'New Zealand':'www.google.co.nz',
...
}
现在为不匹配的国家/地区设置默认值,如果匹配的国家/地区,则将Google网址替换为匹配的值。
var googleUrl = 'www.google.com';
if (urls[country]){
googleUrl = urls[country];
}
最后,一旦选择了适当的URL,就可以使用jQuery的href
函数更改prop()
属性。
$("#global").prop('href',googleUrl);