2011-04-20 5 views

Répondre

3

Il y a un attribut appelé navigator.onLine (soutien général du navigateur, et non spécifique pour Sencha)

Si je suis dans une application PhoneGap (que vous êtes souvent si vous utilisez Sencha Touch), je préfère utiliser leur fonction network.isReachable, puisque je l'ai trouvé par expérience plus fiable.

Il y a aussi quelque chose qui s'appelle 'Offline events', John Resig les décrit sur son blog: http://ejohn.org/blog/offline-events/.

3

S'il n'y a pas de connexion réseau lors d'une requête ajax, sencha touchera une réponse avec un statut 0. Voilà donc ce que nous utilisons dans notre application (fonctionne aussi 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.'); 
    } 
}); 

Notez que ceci est pour toucher 1.1, n'ont pas essayé encore en 2.0.

Questions connexes