由于公司业务需要,需要对网站特定地区的访客进行不同跳转。比如,上海的用户跳转到“shanghai.url.cn”,南京的用户跳转到“nanjing.url.cn”。下面就是我的实现方法,分享出来,顺便做个记录。
第一步,获取IP并判断归属地
直接使用搜狐的IP库查询接口
<script type="text/javascript" src="http://pv.sohu.com/cityjson?ie=utf-8"></script>
返回的数据是
var returnCitySN = {"cip": "222.94.148.132", "cid": "320100", "cname": "江苏省南京市"};
接下来,直接对‘returnCitySN’操作
第二步,判断归属地
我用的indexOf(),如果字符串中包含特定字符,返回索引值;如果字符串中不存在特定字符,返回值‘-1’
returnCitySN.cname.indexOf('上海')==-1
这里我是要对上海以外的其他城市进行操作。如果需要对上海这座城市的访客进行操作:
returnCitySN.cname.indexOf('上海')!=-1
第三步,自动跳转到指定页面
不要问我这是干啥,就是对特定地区的访客进行页面跳转而已。
window.location.href='URL'
这里URL就是要跳转到的目标网址
至此,完整的代码如下:
<script type="text/javascript" src="http://pv.sohu.com/cityjson?ie=utf-8"></script> <script type="text/javascript"> if (returnCitySN.cname.indexOf('上海')==-1){ window.location.href='要跳转的URL' } </script>
为了隐蔽,可以对JS加密,加密地址:https://www.sojson.com/javascriptobfuscator.html