1 跟风API
最近各种云平台很是火爆,博主也跟了一把风。之前博客主题的评论列表信息栏处,调用的是新浪IP地址查询接口。新浪的这个IP接口早在2009年就开放了,不过貌似查询的结果准确性不是很高,不像纯真的IP库更新得那么及时。所以,vfhky寻思换个其它的IP查询接口提高博客的评论信息准确度。
2 选择淘宝IP地址库
网上查看了下资料,提供IP查询接口的有这么几个:腾讯、搜狐、淘宝和有道。不过,腾讯已经把接口(http://fw.qq.com/ipaddress)封掉了,只限企鹅自家使用。题外话:对于腾讯的做法咱们习惯就好,早已无力吐槽了。相对于搜狐和有道的IP接口,淘宝肯定具有优势。谁都不能低估淘宝帝国对于掌握用户信息深度的强烈渴望和决心,而IP地址就是用户的足迹线所在。在查看了淘宝IP地址库的API官方资料(地址【http://ip.taobao.com/accurancy.php】),vfhky毅然决定把新浪的IP查询接口改成淘宝的IP查询接口。
3 需要考虑的问题
博客主题评论列表的IP信息是通过Jquery加载的,而淘宝提供的API接口返回的数据是Json格式。相对于直接通过PHP获取Json数据而言,这种Ajax交互方式比较难一点。博主就先卖个关子,具体的实现代码将在下一篇文章贴出。这里贴出之前用新浪IP地址查询接口获取IP信息的代码,评论列表的IP信息同样是通过Jquery加载处理后的新浪IP查询接口返回的JS数据。
4.1 修改functions.php文件
找到评论信息显示列表的那个文件(博主的是functions.php),在相应的位置加上如下代码。其作用是在jQuery获取IP信息之前,显示“正在查询……”的字样。代码中的waiting.gif是上面的省略号动态图片,这个看个人喜好来决定需不需要用;$ip代表从数据查询出来的评论者的IP数据。
<span class="vfhkyipquery" data-ip="' . $ip . '">正在查询<img src="' . get_bloginfo('template_url') . '/images/waiting.gif" alt="..." style="vertical-align:baseline;" /></span>
4.2 修改JS文件
在主题的一个js文件中添加以下代码,注意该js文件一定要是会在文章页面加载的哦!最终的效果会类似于:中国广东深圳 电信。
jQuery(document).ready(function($){
function vfhkyipquery(){
$(".vfhkyipquery").each(function(){
var c=$.trim($(this).attr("data-ip")),t=$(this),i="";
$.getScript("http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip="+c,function(){
if(remote_ip_info.ret==1){
var h=remote_ip_info.country,f=remote_ip_info.province,e=remote_ip_info.city,g=" "+remote_ip_info.isp;
i+=h;
i+=f==e?e:f+e;
i+=g;
}
else{
i="未知IP地址";
}
t.replaceWith(''+i+"");
})
})
}
$(function(){vfhkyipquery()})
});
本文共 599 个字数,平均阅读时长 ≈ 2分钟
LZ 是jsonp吧?。。。
是。。。。
@gkroot 我跟你保证,以后再也不剧透了。。
@Soar、毅 ==这有毛