Определить, доступно ли подключение к интернету - PullRequest
2 голосов
/ 20 апреля 2011

Как вы можете проверить, подключено ли устройство к Интернету в сенсорном приложении sencha?

Ответы [ 2 ]

3 голосов
/ 10 декабря 2011

Если во время запроса 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.');
  }
});

Обратите внимание, что это для сенсорного 1.1, еще не пробовал в 2.0.

3 голосов
/ 20 апреля 2011

Есть атрибут с именем navigator.onLine (общая поддержка браузера, не специфичная для Sencha)

Если я в приложении PhoneGap (которым вы часто пользуетесь, если используете Sencha Touch), я 'Я предпочел бы использовать их network.isReachable функцию, так как по своему опыту я нашел ее более надежной.

Также есть нечто, называемое «Оффлайн события», Джон Резиг описывает их в своем блоге:1008 *http://ejohn.org/blog/offline-events/.

...