2013-02-27 7 views
5

Aplikacja MY Sencha Touch działa poprawnie we wszystkich przeglądarkach, jednak po zapisaniu adresu URL na ekranie głównym iPada. Nie ładuje się i wyświetla tylko pusty ekran. Nie otrzymuję błędów JS i nic nie przychodzi przez dziennik podczas debugowania. Herezje próbka aplikacji:Sencha Touch nie inicjuje

script type="text/javascript"> 
    var rootPanel; 
    if (navigator.userAgent.match(/iPad/i)) { 
     viewport = document.querySelector("meta[name=viewport]"); 
     viewport.setAttribute('content', 'width=980'); 
    } 
    Ext.application({ 
     launch: function() { 



      var contactForm = Ext.create('Ext.form.FormPanel', { 
       standardSubmit: true, 
       fullscreen: true, 
       items: [{ 
        xtype: 'titlebar', 
        title: 'My App', 
        docked: 'top' 
       }, { 
        xtype: 'fieldset', 
        items: [{ 
         xtype: 'textfield', 
         name: 'LoginName', 
         label: 'Login Name:' 
        }, { 
         xtype: 'passwordfield', 
         name: 'Password', 
         label: 'Password:' 
        }, 
        { 
         xtype: 'hiddenfield', 
         name: 'ReturnUrl', 
         value: '/returnUser.html' 
        }] // items 
       }, { 
        xtype: 'toolbar', 
        layout: { 
         pack: 'center' 
        }, // layout 
        ui: 'plain', 
        items: [{ 
         xtype: 'button', 
         text: 'Reset', 
         ui: 'decline', 
         handler: function (btn, evt) { 
          Ext.Msg.confirm('', 'Are you sure you want to reset this form?', function (btn) { 
           if (btn === 'yes') { 
            contactForm.setValues({ 
             LoginName: '', 
             Password: '' 
            }); // contactForm() 
           } // switch 
          }); // confirm() 
         } 
        }, { 
         xtype: 'button', 
         text: 'Submit', 
         ui: 'confirm', 
         handler: function (btn, evt) { 
          var values = contactForm.getValues(); 

          contactForm.submit({ 
           url: 'Login', 
           method: 'POST', 
           waitTitle: 'Connecting', 
           waitMsg: 'Sending data...', 
           success: function (form, result) { 
            Ext.Msg.alert('Login succeeded!', result.response.reason); 
           }, 
           failure: function (form, result) { 
            Ext.Msg.alert('Login Failed!', result.response.reason); 
           } 
          }); 

         } // handler 
        }] // items (toolbar) 
       }] // items (formpanel) 
      }); // create() 
     } // launch 
    }); // application() 


    $(document).ready(function() { 

    }); 

kładę alert w sposobie rozpoczęcia działalności Ext.Application ale nie pokazuje. Kiedy umieściłem go w alarmie w funkcji document.ready, pokazuje się. Powinienem również zauważyć, że to działa w przeglądarce ipad, a nie po uruchomieniu z ikony na ekranie głównym.

+0

Szalony ... może problem z buforowaniem? Nie jesteś nawet pewien, gdzie rozpocząć debugowanie. – jakerella

+0

usunąć ikonę i odtworzyć ją, a następnie spróbuj – 1Mayur

+0

@jakerella Próbowałem wyczyścić pamięć podręczną i bez powodzenia. Próbowałem również dodać funkcję cache.manifest HTML do buforowania zasobów i to nie działało albo – ninjasense

Odpowiedz

0

To wydaje się być wersja Sencha używałem który był 2.1.0 wierzę, jak tylko zaktualizowany do najnowszej wersji (2.1.1 Data kompilacji 2013-02-05 12:25:50) Działa dobrze.

+0

@jakerella to była poprawka – ninjasense

1

Mam do czynienia z podobnym problemem w Androidzie, w rzeczywistości w moim przypadku problem polegał na tym, że funkcja Ext.Loader nie była włączona. Widzę, że nie uwzględniłeś tego. Obejmują ten skrypt przed Ext.application & zobacz czy działa

Ext.Loader.setConfig({ 
    enabled:true 
}); 

Ext.application({...}); 
+0

Próbowałem tego jako cóż, nadal nie inicjalizuję – ninjasense

+0

Awans na pomysł ... Miałem podobny problem, gdy zaczynałem od Sencha, Szkoda, że ​​nie działało na OP w tym przypadku – jakerella