当我们在页面中填写个人资料中的省市信息时,页面会根据当前用户所在的城市自动选中省市下拉选项;当我们访问某个大型站点时,网站程序会自动进入到用户当前所在的城市频道。这些功能是如何实现的呢?今天我们来通过实例讲解如何根据IP定位用户所在城市信息。 这是我们有时会遇到的功能,但我们在开发企业网站的时候,考虑到城市表的更新和用户ip的获得等等问题这个功能一直没有开发。引用其他网站的远程api这是现在流行的一种方式,不过我们总感觉是受至于人。
以下是引用其他网站api的实现,以备不时之需
当我们在页面中填写个人资料中的省市信息时,页面会根据当前用户所在的城市自动选中省市下拉选项;当我们访问某个大型站点时,网站程序会自动进入到用户当前所在的城市频道。1.调用新浪IP地址库
新浪提供了开放的IP地址库数据供开发者调用,调用地址:http://int.dpool.sina.com.cn/iplookup/iplookup.php,即可返回当前ip所在的省市信息。
基于jQuery+JSON的省市联动效果中的省市下拉插件,来定位当前用户所在的省市,即默认状态选中的是当前用户所在的省市。
<script type=\"text/javascript\" src=\"js/jquery.js\"></script>
<script type=\"text/javascript\" src=\"js/jquery.cityselect.js\"></script>
<script type=\"text/javascript\" src=\"http://int.dpool.sina.com.cn/iplookup/iplookup.php? format=js\"></script>
我们先载入jquery库和cityselect城市下拉插件,然后调用新浪的IP地址库,并以js的形式返回,当然如果你想查询某一指定IP所在的城市信息可以使用接口地址如:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=123.123.123.123,将参数ip值换成指定的IP地址即可。
本地js调用:
var myprovince = remote_ip_info[\'province\'];
var mycity = remote_ip_info[\'city\']
var mydistrict = remote_ip_info[\'district\'];
$(function(){
$(\"#city_1\").citySelect({
prov:myprovince,
city:mycity
});
});
HTML代码为:
<h3>调用新浪IP库接口</h3>
<p>您所在的城市是:<script>document.write(myprovince+\' \'+mycity);</script></p>
<div id=\"city_1\">
<select class=\"prov\"></select>
<select class=\"city\"></select>
</div> 这些功能是如何实现的呢?今天我们来通过实例讲解如何根据IP定位用户所在城市信息。