我正在寻找一种方法来检测
手机离线,没有数据或无线网络
手机在线,但是在没有登录的情况下阻止访问的路由器(如酒店,免费wifi热点等)
手机已联机,但服务器已离线
使用cordova网络信息很容易 2号和3号更难。我可以将ajax作为心跳发送到我们的服务器进行测试,但这无法区分情况2和3。
我能准确测试情况2和3的方法是什么?
我的第一个想法是在谷歌上搜索某些内容以检查情况2,如果2次通过,则检查3.这听起来是个好主意吗?
由于
答案 0 :(得分:0)
我之前接触过的方法是将AJAX发送到我的服务器,如您所建议的那样 - 发送给返回已知响应的端点。然后在您的应用中测试此响应。
如果发生下列情况之一,您就是一个强制门户网站:
如果您收到连接错误,则很可能是您的服务器已关闭。
最后,如果您收到DNS解析错误,那么它很可能是上述两者之外的连接问题(例如,您连接的网络根本没有外部互联网连接),但可能您的DNS服务器已关闭。
当然,所有这些都假设您有一些联系(即问题中没有第1点)。最后,请确保您正常处理任何其他异常。