Qual é a maneira correta (até esta data) de usar JQuery Mobile e Phonegap juntos?
Ambas as estruturas precisam ser carregadas antes de serem usadas. Como posso ter certeza de que ambos estão carregados antes de usá-los?
Qual é a maneira correta (até esta data) de usar JQuery Mobile e Phonegap juntos?
Ambas as estruturas precisam ser carregadas antes de serem usadas. Como posso ter certeza de que ambos estão carregados antes de usá-los?
ondeviceReady
evento ser acionado a partir do seu código JQM ...Respostas:
Você pode usar o recurso adiado de JQuery.
fonte
cordova.js
? Deve ser carregado antes ou depois do JQM?É assim que funcionou para mim, com base no exemplo acima
fonte
Para usar o phonegap junto com o jquery mobile, você precisa usá-lo assim
fonte
Como muitas pessoas sugeriram que usar um adiado é uma opção aceitável, desde que você não se importe com a ordem
deviceready
emobileinit
o que aconteceu. Mas no meu caso, eu precisava de algunspageshow
eventos quando o aplicativo foi carregado pela primeira vezmobileinit
e, por extensão, esses eventospageshow
/pagebeforeshow
/ etc foram todos disparando antes dedeviceready
terminados, então não pude ligar a eles corretamente usando um adiado neles. Essa condição de corrida não era boa.O que eu precisava fazer era garantir que 'mobileinit' não ocorresse até que '
deviceready
' já fosse disparado. Porquemobileinit
dispara imediatamente quando você carrega o JQM, escolhi usarjQuery.getScript
para carregá-lo DEPOIS dedeviceready
já ter terminado.O motivo pelo qual estou escondendo o corpo é que um efeito colateral desse método é meio segundo de visibilidade do documento HTML original antes que jquery.mobile carregue. Neste caso, escondê-lo por meio segundo extra de espaço vazio é preferível a ver o documento sem estilo.
fonte
index.html
<script>
tag.Acredito que não seja necessário usar o recurso diferido. (Talvez isso não seja necessário com as versões mais recentes do phonegap?) Eu tenho isso no cabeçalho do meu arquivo index.html e tudo funciona bem. Eu realmente acho que a ordem de incluir jquery, phonegap e jquery mobile são importantes.
fonte
isso é trabalho para mim. com base no dhaval, este exemplo quando aprendo a usar sqlite
fonte
Para desenvolver a resposta de @Jeffrey, eu encontrei uma maneira muito mais limpa que esconde a marcação HTML até que o JQM termine de processar a página e renderize o primeiro elemento da página, já que notei que 1/2 segundo a cintilação da marcação nua antes da renderização do JQM.
Você só precisa ocultar toda a marcação com css ... PageShow () por JQM irá alternar a visibilidade para você.
fonte
O seguinte funcionou para mim no PG 2.3 e JQM 1.2, incl. Plug-in do Facebook Connect:
fonte
O carregamento do PhoneGap é ligeiramente diferente do carregamento do jQuery. jQuery funciona mais como uma biblioteca de utilitários, então você a inclui e está disponível para uso imediatamente. Por outro lado, o PhoneGap requer suporte de código nativo para uma inicialização adequada, por isso não está pronto para uso logo após ser incluído na página.
O Phonegap sugere se cadastrar e aguardar o
deviceready
evento executando qualquer código nativo específico.Para mais informações, verifique o documento
fonte
#form
for a primeira página, você não receberá umapageinit
chamada de retorno, pois é tarde demais