有人可以举例说明如何使用IP查找而不是地理位置在JavaScript中进行国家级地理定位吗?
我一直违反JSONP跨站点限制,我还没有在StackOverflow上找到一个好的答案。我希望有这样的事情:
$.getJSON("http://freegeoip.net/json/", function(rs){
if (rs.country_name) {
alert(rs.ip, rs.country_name);
}
})
.error(function(e){
});
但这是不允许的,因为它不是JSONP。有没有人知道(最好是免费的)JSONP服务?它不一定绝对是防弹的。
答案 0 :(得分:3)
只需添加回调参数。
来自freegeoip网页:
通过将回调参数添加到查询字符串
来支持JSON回调
答案 1 :(得分:2)
您可以自己制作,定期更新。以下是免费资源:http://software77.net/geo-ip/
或者,您可以使用此http://www.maxmind.com/app/javascript_city,如果您将其归功并提供返回其网站的链接,则可免费使用。{/ p>
答案 2 :(得分:1)
http://geoiplookup.wikimedia.org/会像jsonp服务(它不是真正的jsonp),但我不确定是否“免费”调用它。他们不喜欢其他网站的大量使用......
当然,由于维基百科是一个经常使用的网站,它甚至可能具有缓存的优势,但我建议安装自己的查找服务。
答案 3 :(得分:1)
您可以使用此免费服务,速度快,也适用于https。
<!DOCTYPE html>
<html lang="en">
<head>
<script src="/bower_components/webcomponentsjs/webcomponents-lite.min.js"></script>
<link rel="import" href="friends-list.html">
</head>
<body>
<h1>Hello Data Object Arry Binding</h1>
<script>
var friends = [
{"name":"manual"},
{"name":"john"},
{"name":"doe","starred":true}
];
</script>
<friend-list data="friends"></friend-list>
</body>
</html