确定互联网连接是否可用

时间:2011-04-20 09:43:55

标签: sencha-touch internet-connection

你们如何检查设备是否在sencha touch app中连接到互联网?

2 个答案:

答案 0 :(得分:3)

有一个名为navigator.onLine的属性(一般浏览器支持,不是Sencha特有的)

如果我使用的是PhoneGap应用程序(如果你使用的是Sencha Touch,那么你常常使用它),我宁愿使用他们的network.isReachable功能,因为我的经验表明它更可靠。< / p>

还有一些叫做“离线事件”的东西,John Resig在他的博客上描述了这些内容:http://ejohn.org/blog/offline-events/

答案 1 :(得分:3)

如果在ajax请求期间没有网络连接,则sencha touch将返回状态为0的响应。这就是我们在我们的应用程序中使用的内容(也适用于phonegap):

// global error handling
Ext.Ajax.on('requestexception', function(connection, response) {
  // get rid of any loading masks that are present
  Ext.each(Ext.query('.x-mask'), function(el) {
      new Ext.Element(el).hide()
  });
  switch(response.status) {
    case 0 :
      Ext.Msg.alert('Error Loading', 'No Internet connection.');
      break;
    case 401 :
      Ext.Msg.alert('Login Failed', 'Check your username and password.');
      break;
    default :
      Ext.Msg.alert('Whoops!', 'An unexpected error has occurred and we have been alerted.');
  }
});

请注意,这是针对touch 1.1,尚未在2.0中尝试过。