根据客户端IP切换服务器

2021年2月5日 作者 刘剑
  • 作者:涂世鼎
  • 项目:balidrop

    <html lang="zh-CN">
    <head>
    <script src="https://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.min.js"></script>
    <script type="text/javascript">
    
     window.onload = function(){
           getServiceDomain();
         };
    
     //开始判断脚本
    function getServiceDomain(){
        if(sessionStorage && sessionStorage["server"]) {
           console.log("server缓存数据:" + JSON.stringify(sessionStorage));
               window.setTimeout(function() {
                  console.log("异步检查ip是否需要更新");
    
                  setServerAndRequestServerCallback();
               },1000);
        } else {
          console.log("首次请求最新的");
          setServerAndRequestServerCallback();
        }
    }
    
    function setServerAndRequestServerCallback(){
       addScriptTag('http://whois.pconline.com.cn/ipJson.jsp?callback=ipCallbackFunc');
      try {
        console.log("开始拿最新ip");
        window.ipCallbackFunc = function(data) {
              console.log("最新ip结果:"+data);
              var ipcode = data && data.proCode;
              var serverDomain = "www.balidrop.com";
              if(ipcode.indexOf("999999") >= 0) {
                   serverDomain = "us.balidrop.com";
              }
              sessionStorage["server"] = serverDomain;
             console.log("更新缓存:"+sessionStorage["server"]);
        }
        console.log("拿最新ip结束");
      } catch(e) {
         console.error("解析IP信息异常:"+e);
      }
    }
    
    function addScriptTag(src) {
      var script = document.createElement('script');
      script.setAttribute("type","text/javascript");
      script.src = src;
      document.body.appendChild(script);
    }
    
    </script>
    </head>
    <body></body>
    </html>