2013-12-12 121 views
1

我使用科尔多瓦开发智能手机应用程序。科尔多瓦 - 检查无线网络连接到互联网

在这个应用程序,我需要检查互联网连接之前发送请求到服务器。

为了做到这一点我用科尔多瓦连接API,但在设备连接到WiFi网络,没有互联网连接的情况下,这个API说,我们有WIFI连接,

有什么如何检查WIFI网络上是否有互联网?

回答

3

在发送实际请求之前发送虚拟ajax请求,如果您得到错误代码为'0',则表示没有互联网连接。

$.ajax({ 
    url: 'TestUrl', 
    type: 'GET', 
    success: function (data) { 
       // Go ahead with you request 
    }, 
    error: function (x, y, z) { 
     if (x.status == 0) { 
      alert("Please connect to the internet"); 
     } 
     else{ 
      alert("Other Error Occured") 
     } 
    } 
}); 

其次,你也可以让你的HTML 5导航

var condition = navigator.onLine ? "ONLINE" : "OFFLINE"; 
+0

我想你的HTML5解决方案,但当我的WIFI没有提供互联网连接时,它不起作用并显示在线状态 – jusabatier

+0

您的第一个解决方案工作,但我实际上使用它并希望在发送AJAX请求之前检查连接,以避免AJAX之前的漫长等待时间时间到。 – jusabatier

+0

没有得到你? –

1

我没有用科尔多瓦很多,但我认为,如果你有互联网接入,它不能识别,它只是承认,如果你是连接到网络。

你可以做一个解决方法:尝试发送你的请求,并捕获你失败时得到的错误,从那里你可以告诉用户他没有互联网接入。

1

您可以使用cordova plugin add org.apache.cordova.network-information添加Connection功能。 These are the Connection docs

该插件将访问window.Connection

然后,你可以这样做:

if (navigator.connection.type == Connection.NONE) { 
    alert("you're going to need more internet, brah"); 
} 

您还可以访问其他国家,如CELL_2GCELL_3GWIFI等..

+0

为什么这不是我接受的答案,我不知道 –

相关问题