外包项目,前后端分离,前端纯 H5,打包后放到指定的 app 里,类似微信小程序;
后台部署在对方内部服务器,前端通过内网地址向后台发起请求,手机需要连接内网 wifi 才能使用该小程序。
对方要求手机连外网时也能使用,于是找对方申请外网访问权限,通过端口映射访问内网;
前端改成 公网 ip+端口 请求后台,结果手机连外网可以使用,内网就用不了了…
项目经理在群里 @我(前端)让我解决问题:判断当前手机连的网络是内网还是外网,内网用内网地址,外网用外网地址。
我一下子就懵了,这前端能做得到吗?
一开始想到的是通过 ajax 请求超时来判断,但这样子从进入首页到请求超时这段时间页面就没数据显示了;
目前的解决方法是进入首页后先同时向内外网地址发起请求,哪个先响应后续的所有请求就用该地址;
总感觉这样不妥,后续业务扩展这问题可能还会暴露出来;
我觉得这问题不该由前端来解决,但跟项目经理解释不清,所以想请教下,纯前端要怎么判断当前网络是内网还是外网?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.