当前位置:首页 > 技术博客 > JavaScript > 前端通过JS获取用户位置信息然后跳转不同的子域名

前端通过JS获取用户位置信息然后跳转不同的子域名

5年前 (2020-03-22)JavaScript824

本期主要内容:根据用户的位置信息跳转不同的网站,比如:北京用户访问跳转 beijing.a.com  上海用户访问跳转 shanghai.a.com,具体演示案例可以参考:www.12315.team

一、首先要获取用户的位置信息:
   通过js:https://ip.ws.126.net/ipquery 来获取位置信息
   lo 代表当前省份 ,例:山东省      
   lc 代表当前城市 ,例:济南市

声明:本文沫娱网-天沫原创!转载请注明出处!

二、有了用户的中文位置信息后,我们需要将中文位置信息转换成英文:
    

pinyin.getFullChars(lc).toLowerCase();


 pinyin.getFullChars() 这个是我一个单独封装的方法,项目源码:https://cdnbaidu.tmicloud.com/jquery/Convert_Pinyin.js  把这个js下载下来放到你网站的公共头部就可以了其他的不用改
 lc 代表用户当前城市, 这个时候 返回的是城市的拼音,例:jinanshi
 如果你想用用户的省份的话就改成 lo,例:pinyin.getFullChars(lo).toLowerCase(); 这时候返回的是:shandongsheng
声明:本文沫娱网-天沫原创!转载请注明出处!

三、先将上面的拼音放到一个变量里面存起来,有了拼音之后就可以直接设置跳转了:
     

    var lcpinyin = pinyin.getFullChars(lc).toLowerCase();
   //这时候 lc的值是:jinanshi
   //假如你的主域名是:www.a.com 要把济南市用户访问就跳转  jinanshi.a.com  
   window.location.href="http://" + lcpinyin + ".a.com";  //常用的js字符串拼接



声明:本文沫娱网-天沫原创!转载请注明出处!
四、到这里就可以实现基本跳转功能了,因为有些IP无法返回正确的用户位置(大多数是手机用户,宽带用户的准确率 95%),所以要先判断返回的数据是否为空:

if(lc != ''){
        //如果正确返回用户位置执行这里的代码,例:济南市
       var lcpinyin = pinyin.getFullChars(lc).toLowerCase();
       window.location.href="http://" + lcpinyin + ".a.com";
    }else{
        //如果没有返回用户的信息执行代这里的代码,建议不作任何操作
    }


文沫娱网-天沫原创!转载请注明出处!

五、完整demo:

<script src='http://ip.ws.126.net/ipquery'></script>
   <script src='http://cdnbaidu.tmicloud.com/jquery/Convert_Pinyin.js'></script>  //这是我自己用的,需要把这个里面的源码下载下来放到自己的项目里就可以了
    <script>
   if(lc != ''){
        //如果正确返回用户位置执行这里的代码,例:济南市
       var lcpinyin = pinyin.getFullChars(lc).toLowerCase();
       window.location.href="http://" + lcpinyin + ".a.com";
    }else{
        //如果没有返回用户的信息执行代这里的代码,建议不作任何操作
    }

   </script>


把上面的代码放在网站头部就可以了,正文到此结束。。。

版权声明:本文由 LzxBlog 发布,如需转载请注明出处。

本文链接:https://www.liuzhixi.cn/html/10.html

标签: HTMLJavaScript

相关文章

通俗的理解js中的&&和||

通俗的理解js中的&&和||

js中的&&和||本质是什么呢?进行布尔值的且和或的运算。当运算到某一个变量就得出最终结果之后,就返回哪个变量。在javascript中:以下内...

前端用法:JavaScript 获取当前GPS地理位置的方法,保姆级代码!

前端用法:JavaScript 获取当前GPS地理位置的方法,保姆级代码!

在网上搜到很多,99%不能用,自己动手将整理记录一下吧,以便后续再使用!<head>     <ti...

大气磅礴的滑块网页背景

大气磅礴的滑块网页背景

<html>     <head>     <...

JavaScript时间日期的基操

JavaScript时间日期的基操

javascript 时间的基本操作,记录一下方便日后Ctrl C / Ctrl V获取当前月份的总天数:由于JavaScript中day的范围为1~31中的值...

js写时钟实现钟摆效果,js制作动态时钟特效

js写时钟实现钟摆效果,js制作动态时钟特效

这是一款模拟摆钟造型的简洁js时钟效果,画面中的摆钟上方打了一束光,形象逼真。<!doctype html>  &nb...

Javascript 的深色和浅色模式

Javascript 的深色和浅色模式

一个简单的黑暗和明亮模式,它不会在页面刷新时恢复初始状态!源码免费下载: https://pan.baidu.com/s/1SYk-ztJaHHj7Re7clR...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。