我们正在将Cordova用于混合项目。我们遇到了一个问题,如果设备/应用程序看到WiFi网络,但WiFi网络需要身份验证或接受他们的条款和条件(最常见于咖啡馆,酒店等)。
PhoneGap / Cordova只看到WiFi网络,因此检查网络实际上是不可靠的,因为应用程序正在看网络,用户只是没有登录以从应用程序获取远程数据。
有没有人处理过此事或处理过这些类型的情况?您是如何处理或解决问题的?任何代码片段?
答案 0 :(得分:2)
我不认为有这个插件。
如果您依赖特定的后端服务器:
仅仅检查设备是否在线可能是不够的,因为服务器(无论出于何种原因)可能处于脱机状态。
所以我最终得到了一个RESTful服务,如(node.js / express):
app.get('/', function(req, res) {
res.jsonp({status: 'OK'});
});
只是返回“OK”并在几种情况下检查连接。
如果您只是需要知道自己是否在线:
在这种情况下,我会检查一些普遍可用的网站,看看是否可以访问它。也许cordova-plugin-inappbrowser可能对此有所帮助,因为它可以在后台加载网站并报告错误(如果有的话)。
答案 1 :(得分:0)
如果该应用在线,请打开已知网址的HEAD请求。如果请求有效,那么您已全部设置完毕。如果失败,则用户可能在强制门户中。