我使用科尔多瓦开发智能手机应用程序。科尔多瓦 - 检查无线网络连接到互联网
在这个应用程序,我需要检查互联网连接之前发送请求到服务器。
为了做到这一点我用科尔多瓦连接API,但在设备连接到WiFi网络,没有互联网连接的情况下,这个API说,我们有WIFI连接,
有什么如何检查WIFI网络上是否有互联网?
我使用科尔多瓦开发智能手机应用程序。科尔多瓦 - 检查无线网络连接到互联网
在这个应用程序,我需要检查互联网连接之前发送请求到服务器。
为了做到这一点我用科尔多瓦连接API,但在设备连接到WiFi网络,没有互联网连接的情况下,这个API说,我们有WIFI连接,
有什么如何检查WIFI网络上是否有互联网?
在发送实际请求之前发送虚拟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";
我没有用科尔多瓦很多,但我认为,如果你有互联网接入,它不能识别,它只是承认,如果你是连接到网络。
你可以做一个解决方法:尝试发送你的请求,并捕获你失败时得到的错误,从那里你可以告诉用户他没有互联网接入。
您可以使用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_2G
,CELL_3G
,WIFI
等..
为什么这不是我接受的答案,我不知道 –
我想你的HTML5解决方案,但当我的WIFI没有提供互联网连接时,它不起作用并显示在线状态 – jusabatier
您的第一个解决方案工作,但我实际上使用它并希望在发送AJAX请求之前检查连接,以避免AJAX之前的漫长等待时间时间到。 – jusabatier
没有得到你? –