由于公司业务需要,需要对网站特定地区的访客进行不同跳转。比如,上海的用户跳转到 “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