Jaki jest poprawny (do tej pory) sposób jednoczesnego używania JQuery Mobile i Phonegap?
Obie platformy muszą zostać załadowane, zanim będą mogły być używane. Jak mogę się upewnić, że oba są załadowane, zanim będę mógł ich użyć?
Jaki jest poprawny (do tej pory) sposób jednoczesnego używania JQuery Mobile i Phonegap?
Obie platformy muszą zostać załadowane, zanim będą mogły być używane. Jak mogę się upewnić, że oba są załadowane, zanim będę mógł ich użyć?
ondeviceReady
wyzwoleniem zdarzenia z twojego kodu JQM ...Odpowiedzi:
Możesz użyć odroczonej funkcji JQuery.
źródło
cordova.js
? Czy powinien zostać załadowany przed czy po JQM?Oto, jak to zadziałało, na podstawie powyższego przykładu
źródło
Aby używać phonegap razem z jquery mobile, musisz używać go w ten sposób
źródło
Jak wiele osób sugerowało użycie odroczonej opcji, o ile nie obchodzi cię, w jakiej kolejności
deviceready
i co sięmobileinit
dzieje. Ale w moim przypadku potrzebowałem kilkupageshow
zdarzeń, gdy aplikacja została załadowana po raz pierwszy,mobileinit
a co za tym idzie, te zdarzeniapageshow
/pagebeforeshow
/ etc były wszystkie strzelały przeddeviceready
zakończeniem, więc nie mogłem się z nimi prawidłowo związać za pomocą odroczonego na nich. Ten stan wyścigu nie był dobry.Musiałem upewnić się, że „mobileinit” nie nastąpi, dopóki „
deviceready
” nie zostanie już uruchomiony . Ponieważmobileinit
uruchamia się natychmiast po załadowaniu JQM, zdecydowałem się użyć gojQuery.getScript
do załadowania podeviceready
zakończeniu już.Powodem, dla którego ukrywam treść, jest to, że efektem ubocznym tej metody jest pół sekundy widoczności oryginalnego dokumentu HTML przed załadowaniem jquery.mobile. W takim przypadku preferowane jest ukrycie dodatkowego pół sekundy pustego miejsca niż obejrzenie dokumentu bez stylizacji.
źródło
index.html
<script>
tagu.Uważam, że nie ma potrzeby korzystania z funkcji odroczonej. (Może nie jest to konieczne w nowszych wersjach phonegap?) Mam to w nagłówku pliku index.html i wszystko działa dobrze. Myślę, że kolejność włączania jquery, phonegap i jquery mobile jest ważna.
źródło
to jest praca dla mnie. bazuje na dhaval, ten przykład, kiedy uczę się korzystania z sqlite
źródło
Aby zbudować na odpowiedzi @ Jeffrey, znalazłem znacznie czystszy sposób, który ukrywa znaczniki HTML do czasu zakończenia przetwarzania strony przez JQM i renderowania pierwszego elementu strony, ponieważ zauważyłem, że migotanie nagiego znacznika przez JQM trwa pół sekundy.
Musisz tylko ukryć wszystkie znaczniki za pomocą css ... PageShow () firmy JQM przełączy dla Ciebie widoczność.
źródło
Poniższe działały dla mnie na PG 2.3 i JQM 1.2, w tym. Wtyczka Facebook Connect:
źródło
Ładowanie PhoneGap różni się nieco od ładowania jQuery. jQuery działa bardziej jak biblioteka narzędzi, więc dołączasz ją i jest dostępna do natychmiastowego użytku. Z drugiej strony PhoneGap wymaga wsparcia ze strony kodu natywnego w celu poprawnej inicjalizacji, więc nie jest gotowy do użycia wkrótce po umieszczeniu na stronie.
Phonegap sugeruje rejestrację i oczekiwanie na
deviceready
zdarzenie, które wykona dowolny natywny kod.Więcej informacji w doc
źródło
#form
jest to pierwsza strona, nie otrzymaszpageinit
oddzwonienia, ponieważ jest już za późno