根据客户端IP切换服务器
- 作者:涂世鼎
-
项目: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>