我有一个加拿大网站,如果访问者来自美国,我想隐藏一些内容。是否有可以检测 IP 地址所在国家/地区的 jQuery 函数?或者一些插件?我不希望它是通过 Google Maps API 或任何类型的访问者批准/验证的地理位置。
在理想的世界中,我想要类似的东西:
if(IP == US) {
div.hide();
}
else {
div.show();
}
您通常会为此使用服务,这里有一个类似于问题中的功能(除了这个有效)
$(function() {
$.getJSON('http://smart-ip.net/geoip-json?callback=?', function(data) {
if (data.countryCode == 'US') {
$('body').text('You are in the US');
}else{
$('body').text("You are in " + data.countryName);
}
});
});
如果没有 API,您将依赖浏览器获取任何客户端信息。由于浏览器不知道其 IP 的位置(甚至其 IP),因此您无法仅通过 jQuery 变量检索此信息。您将需要使用 API,很可能通过将 IP 地址发送到远程服务器并根据 zip/国家/地区进行切换。
如果您使用的是 php,则可以使用。
我不确定数据有多准确。