在OSSH免费版华为Portal-0.1版本发布之后,很多用户都可以下载并对接测试了自己的AC或交换机等支持华为Portal协议的设备,近期发生过一个案例,用OSSH免费版华为Portal-0.1系统对接某主流品牌AC时遇到了一些问题,主要表现是对苹果iphone手机的兼容,以下我们对该问题进行处理的思路,大家可以借鉴下。
当手机用户在打开3G或GPRS数据流量情况下,接入到OSSH免费版华为portal无线wifi网络环境后,安卓手机上方任务栏的3G或GPRS图标会自动变为wifi标志,并且当前流量全部使用wifi,用户打开浏览器将推送portal认证页面,之后用户可进行正常的portal认证流程。
但是在苹果手机中,点击连接OSSH免费版华为portal无线wifi的ssid后,如果当前wifi是开放网络并且需要web认证登录,则会自动弹出一个苹果内置浏览器,此浏览器没有地址栏输入框,浏览器右上角为取消按钮,表明苹果手机认为当前的页面为设置wifi登录的页面,用户如果点击取消按钮,内置浏览器会关闭,并且自动断开当前wifi,流量继续显示3G;不点击取消时,页面内容为OSSH portal认证登陆页,此时手机上方任务栏数据流量使用的图标还是3G或GPRS图标,表明数据流量接入还是3G或GPRS,这时在OSSH portal页面输入用户名密码登录,OSSH免费版华为Portal系统登陆页提示用户登录成功,但是此时苹果手机的接入数据源显示的还是3G,并没有切换到wifi数据源。
第一种解决方法:查看要接入的OSSH免费版华为portal无线wifi网络的详细信息,其中有自动连接和自动登录的选项,将自动登录的开关设置为关闭,这样每次连接到OSSH免费版华为portal无线wifi网络,苹果iphone手机的内置浏览器就不会自动弹出OSSH免费版华为portal-0.1的登录页面。这时手动打开浏览器,发起Web访问请求,OSSH免费版华为portal即可正常推送Portal认证页面,进行正常登录;
第二种解决方法:因为苹果iphone手机的内置浏览器在设置wifi时,如果页面有刷新并且访问的是外网的资源,则表明用户通过接入wifi到互联网成功,这时才会由3G或GPRS流量切换为WIFI接入流量。
由于OSSH portal的登录和登录成功页面,是采用无刷新设计,即用户提交登录和登录成功之间的过程,浏览器不需要全局刷新,改善了用户体验,降低传统web返回整个页面的带宽;
但是在苹果手机的内置浏览器,如果页面不刷新到外网地址,苹果内置浏览器是不会认为已经设置并连接wifi成功。
那么,我们可以在OSSH免费版华为portal-0.1系统中修改设置“在登录成功之后跳转到一个外网地址”则可解决问题。
修改OSSH免费版华为portal-0.1系统安装目录下的index.js:
vi /usr/local/portalServer/webapps/ROOT/js/index.js
// 错误码
var errorCode = json.errorCode;
var message = "";
switch(errorCode) {
case 0:
message = "登录成功";
Index.normalLogin.hide();
Index.successLogin.show();
Index.successUser.html(username);
window.location.href = "XX网站";
break;
(红色为需要修改的部分)
在判断提交的portal后台返回的errorCode为0(登录成功)后,增加跳转到指定的外网地址即可。修改保存之后,再次点击接入wifi登录成功后,页面跳转到XX网站(也可配置其他外网地址),同时内置浏览器右上角的取消按钮,变为完成按钮,点击完成后,手机上方的3G或GPRS图标变为WIFI的图标,用户正常上网使用的就是WIFI流量了。
以上即为OSSH免费版华为Portal-0.1系统在处理苹果手机兼容问题的办法,如果您有更好的思路或建议,也可以随时联系我们。如果您对OSSH的方案和产品感兴趣,可以加入QQ群:195323074,下载OSSH免费版华为Portal系统进行安装使用!
同时您可以通过以下方式,了解最新的开发进度和资讯!
微信:免费WebPortal,;
新浪微博:免费WebPortal,。